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:

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.

  1. 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ý:

  2. Vyhledejte Hive a vyberte konektor Hive.

    Select the Hive connector.

  3. Nakonfigurujte podrobnosti o službě, otestujte připojení a vytvořte novou propojenou službu.

    Configure a linked service to Hive.

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 queryformá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:

Hive source example

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í.

Seznam úložišť dat podporovaných jako zdroje a jímky aktivitou kopírování najdete v podporovaných úložištích dat.