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/-) | ① ② |
Mapování toku dat (zdroj/-) | ① |
Aktivita Lookup | ① ② |
(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č.
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 o konfiguraci Připojení oru
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 |
Nastudoval | Tabulka Hive bude vždy připravená. | ano | true |
Nastudoval |
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.