Kopírování a transformace dat z Hivu pomocí Azure Data Factory
PLATÍ PRO: Azure Data Factory Azure Synapse Analytics
Tip
Vyzkoušejte si službu Data Factory v Microsoft Fabric, řešení pro analýzy typu all-in-one pro podniky. Microsoft Fabric zahrnuje všechno od přesunu dat až po datové vědy, analýzy v reálném čase, business intelligence a vytváření sestav. Přečtěte si, jak začít používat novou zkušební verzi zdarma.
Tento článek popisuje, jak pomocí aktivity kopírování v kanálu Azure Data Factory nebo Synapse Analytics kopírovat data z Hivu. Vychází z článku s přehledem aktivity kopírování, který představuje obecný přehled aktivity kopírování.
Podporované funkce
Tento konektor Hive je podporovaný pro následující funkce:
Podporované funkce | IR |
---|---|
aktivita Copy (zdroj/-) | (1) (2) |
Mapování toku dat (zdroj/-) | (1) |
Aktivita Lookup | (1) (2) |
(1) Prostředí Azure Integration Runtime (2) Místní prostředí Integration Runtime
Seznam úložišť dat podporovaných jako zdroje nebo jímky aktivitou kopírování najdete v tabulce Podporované úložiště dat.
Služba poskytuje integrovaný ovladač, který umožňuje připojení, takže pomocí tohoto konektoru nemusíte ručně instalovat žádný ovladač.
Konektor podporuje verze Windows v tomto článku.
Požadavky
Pokud se vaše úložiště dat nachází uvnitř místní sítě, virtuální sítě Azure nebo amazonového privátního cloudu, musíte nakonfigurovat místní prostředí Integration Runtime pro připojení k němu.
Pokud je vaše úložiště dat spravovanou cloudovou datovou službou, můžete použít Azure Integration Runtime. Pokud je přístup omezený na IP adresy schválené v pravidlech brány firewall, můžete do seznamu povolených přidat IP adresy prostředí Azure Integration Runtime.
K přístupu k místní síti bez nutnosti instalace a konfigurace místního prostředí Integration Runtime můžete také použít funkci Runtime integrace spravované virtuální sítě ve službě Azure Data Factory.
Další informace o mechanismech zabezpečení sítě a možnostech podporovaných službou Data Factory najdete v tématu Strategie přístupu k datům.
Začínáme
K provedení aktivita Copy s kanálem můžete použít jeden z následujících nástrojů nebo sad SDK:
- Nástroj pro kopírování dat
- Azure Portal
- Sada .NET SDK
- Sada Python SDK
- Azure PowerShell
- Rozhraní REST API
- Šablona Azure Resource Manageru
Vytvoření propojené služby pro Hive pomocí uživatelského rozhraní
Pomocí následujícího postupu vytvořte propojenou službu s Hivem v uživatelském rozhraní webu Azure Portal.
Přejděte na kartu Správa v pracovním prostoru Azure Data Factory nebo Synapse a vyberte Propojené služby a pak klikněte na Nový:
Vyhledejte Hive a vyberte konektor Hive.
Nakonfigurujte podrobnosti o službě, otestujte připojení a vytvořte novou propojenou službu.
Podrobnosti konfigurace konektoru
Následující části obsahují podrobnosti o vlastnostech, které slouží k definování entit služby Data Factory specifických pro konektor Hive.
Vlastnosti propojené služby
Propojená služba Hive podporuje následující vlastnosti:
Vlastnost | Popis | Povinní účastníci |
---|---|---|
type | Vlastnost typu musí být nastavená na: Hive. | Ano |
host | IP adresa nebo název hostitele serveru Hive oddělených ";" pro více hostitelů (pouze pokud je povolená službaDiscoveryMode). | Ano |
port | Port TCP, který server Hive používá k naslouchání klientským připojením. Pokud se připojíte ke službě Azure HDInsight, zadejte port 443. | Ano |
serverType | Typ serveru Hive. Povolené hodnoty jsou: HiveServer1, HiveServer2, HiveThriftServer |
No |
thriftTransportProtocol | Přenosový protokol, který se má použít ve vrstvě Thrift. Povolené hodnoty jsou: Binary, SASL, HTTP |
No |
authenticationType | Metoda ověřování použitá pro přístup k serveru Hive. Povolené hodnoty jsou: Anonymní, Uživatelské jméno, UsernameAndPassword, WindowsAzureHDInsightService. Ověřování protokolem Kerberos se teď nepodporuje. |
Ano |
serviceDiscoveryMode | true to indicate using the ZooKeeper service, false not. | No |
zooKeeperNameSpace | Obor názvů v ZooKeeperu, pod kterým jsou přidány uzly Hive Server 2. | No |
useNativeQuery | Určuje, jestli ovladač používá nativní dotazy HiveQL, nebo je převede na ekvivalentní formulář v HiveQL. | No |
username | Uživatelské jméno, které používáte pro přístup k Serveru Hive. | No |
Heslo | Heslo odpovídající uživateli. Označte toto pole jako securestring, abyste ho mohli bezpečně uložit, nebo odkazovat na tajný klíč uložený ve službě Azure Key Vault. | No |
httpPath | Částečná adresa URL odpovídající serveru Hive. | No |
enableSsl | Určuje, jestli jsou připojení k serveru šifrovaná pomocí protokolu TLS. Výchozí hodnota je false. | No |
trustedCertPath | Úplná cesta k souboru .pem obsahujícího důvěryhodné certifikáty certifikační autority pro ověření serveru při připojování přes protokol TLS. Tuto vlastnost lze nastavit pouze při použití protokolu TLS v místním prostředí IR. Výchozí hodnota je soubor cacerts.pem nainstalovaný s prostředím IR. | No |
useSystemTrustStore | Určuje, jestli se má použít certifikát certifikační autority z úložiště důvěryhodnosti systému nebo ze zadaného souboru PEM. Výchozí hodnota je false. | No |
allowHostNameCNMismatch | Určuje, jestli se má při připojování přes protokol TLS vyžadovat název certifikátu TLS/SSL vystavený certifikační autoritou, který odpovídá názvu hostitele serveru. Výchozí hodnota je false. | No |
allowSelfSignedServerCert | Určuje, jestli chcete povolit certifikáty podepsané svým držitelem ze serveru. Výchozí hodnota je false. | No |
connectVia | Prostředí Integration Runtime , které se má použít pro připojení k úložišti dat. Další informace najdete v části Požadavky . Pokud není zadaný, použije výchozí prostředí Azure Integration Runtime. | No |
storageReference | Odkaz na propojenou službu účtu úložiště sloužící k přípravě dat v mapování toku dat. To se vyžaduje jenom při použití propojené služby Hive v mapování toku dat. | No |
Příklad:
{
"name": "HiveLinkedService",
"properties": {
"type": "Hive",
"typeProperties": {
"host" : "<cluster>.azurehdinsight.net",
"port" : "<port>",
"authenticationType" : "WindowsAzureHDInsightService",
"username" : "<username>",
"password": {
"type": "SecureString",
"value": "<password>"
}
}
}
}
Vlastnosti datové sady
Úplný seznam oddílů a vlastností dostupných pro definování datových sad najdete v článku o datových sadách . Tato část obsahuje seznam vlastností podporovaných datovou sadou Hive.
Pokud chcete kopírovat data z Hivu, nastavte vlastnost typu datové sady na HiveObject. Podporují se následující vlastnosti:
Vlastnost | Popis | Povinní účastníci |
---|---|---|
type | Vlastnost typu datové sady musí být nastavená na: HiveObject. | Ano |
schema | Název schématu | Ne (pokud je zadán dotaz ve zdroji aktivity) |
table | Název tabulky. | Ne (pokud je zadán dotaz ve zdroji aktivity) |
tableName | Název tabulky včetně části schématu Tato vlastnost je podporována pro zpětnou kompatibilitu. Pro nové úlohy použijte schema a table . |
Ne (pokud je zadán dotaz ve zdroji aktivity) |
Příklad
{
"name": "HiveDataset",
"properties": {
"type": "HiveObject",
"typeProperties": {},
"schema": [],
"linkedServiceName": {
"referenceName": "<Hive linked service name>",
"type": "LinkedServiceReference"
}
}
}
Vlastnosti aktivity kopírování
Úplný seznam oddílů a vlastností dostupných pro definování aktivit najdete v článku Pipelines . Tato část obsahuje seznam vlastností podporovaných zdrojem Hive.
Zdroj HiveSource
Pokud chcete kopírovat data z Hivu, nastavte typ zdroje v aktivitě kopírování na HiveSource. Ve zdrojové části aktivity kopírování jsou podporovány následující vlastnosti:
Vlastnost | Popis | Povinní účastníci |
---|---|---|
type | Vlastnost typu zdroje aktivity kopírování musí být nastavená na: HiveSource. | Ano |
query | Ke čtení dat použijte vlastní dotaz SQL. Například: "SELECT * FROM MyTable" . |
Ne (pokud je v datové sadě zadán název tabulky) |
Příklad:
"activities":[
{
"name": "CopyFromHive",
"type": "Copy",
"inputs": [
{
"referenceName": "<Hive input dataset name>",
"type": "DatasetReference"
}
],
"outputs": [
{
"referenceName": "<output dataset name>",
"type": "DatasetReference"
}
],
"typeProperties": {
"source": {
"type": "HiveSource",
"query": "SELECT * FROM MyTable"
},
"sink": {
"type": "<sink type>"
}
}
}
]
Mapování vlastností toku dat
Konektor Hive se podporuje jako vložený zdroj datové sady při mapování toků dat. Čtení pomocí dotazu nebo přímo z tabulky Hive ve službě HDInsight Data Hive se připraví v účtu úložiště jako soubory parquet, než se transformují jako součást toku dat.
Vlastnosti zdroje
Následující tabulka uvádí vlastnosti podporované zdrojem Hive. Tyto vlastnosti můžete upravit na kartě Možnosti zdroje.
Název | Popis | Povinní účastníci | Povolené hodnoty | Vlastnost skriptu toku dat |
---|---|---|---|---|
Uložit | Store musí být hive |
ano | hive |
store |
Formát | Bez ohledu na to, jestli čtete tabulku nebo dotaz | ano | table nebo query |
format |
Název schématu | Při čtení z tabulky schéma zdrojové tabulky | Ano, pokud je formát table |
String | schemaName |
Název tabulky | Při čtení z tabulky název tabulky | Ano, pokud je formát table |
String | tableName |
Dotaz | Pokud je query formát, zdrojový dotaz na propojenou službu Hive |
Ano, pokud je formát query |
String | query |
Hraný | Tabulka Hive bude vždy připravená. | ano | true |
hraný |
Kontejner úložiště | Kontejner úložiště používaný ke zfázování dat před čtením z Hivu nebo zápisem do Hivu. Cluster Hive musí mít přístup k tomuto kontejneru. | ano | String | storageContainer |
Pracovní databáze | Schéma nebo databáze, ke které má uživatelský účet zadaný v propojené službě přístup. Slouží k vytváření externích tabulek během přípravy a následnému vyřazení. | ne | true nebo false |
stagingDatabaseName |
Skripty pre SQL | Kód SQL, který se má spustit v tabulce Hive před čtením dat | ne | String | předsqls |
Příklad zdroje
Níže je příklad konfigurace zdroje Hive:
Tato nastavení se překládají do následujícího skriptu toku dat:
source(
allowSchemaDrift: true,
validateSchema: false,
ignoreNoFilesFound: false,
format: 'table',
store: 'hive',
schemaName: 'default',
tableName: 'hivesampletable',
staged: true,
storageContainer: 'khive',
storageFolderPath: '',
stagingDatabaseName: 'default') ~> hivesource
Známá omezení
- Komplexní typy, jako jsou pole, mapy, struktury a sjednocení, nejsou podporovány pro čtení.
- Konektor Hive podporuje pouze tabulky Hive ve službě Azure HDInsight verze 4.0 nebo vyšší (Apache Hive 3.1.0)
- Ve výchozím nastavení ovladač Hive v jímce poskytuje název tableName.columnName. Pokud nechcete, aby se název tabulky zobrazoval v názvu sloupce, můžete to vyřešit dvěma způsoby. a. Zkontrolujte nastavení hive.resultset.use.unique.column.names na straně serveru Hive a nastavte ho na false. b. Pomocí mapování sloupců přejmenujte název sloupce.
Vlastnosti aktivity vyhledávání
Podrobnosti o vlastnostech najdete v aktivitě Vyhledávání.
Související obsah
Seznam úložišť dat podporovaných jako zdroje a jímky aktivitou kopírování najdete v podporovaných úložištích dat.