Salin dan ubah data dari Apache Hive menggunakan Azure Data Factory

BERLAKU UNTUK:Azure Data Factory Azure Synapse Analytics

Tip

Cobalah Data Factory di Microsoft Fabric, solusi analitik all-in-one untuk perusahaan. Microsoft Fabric mencakup semuanya mulai dari pergerakan data hingga ilmu data, analitik real time, kecerdasan bisnis, dan pelaporan. Pelajari cara memulai uji coba baru secara gratis!

Artikel ini menguraikan cara menggunakan Aktivitas Salin di alur Azure Data Factory atau Synapse Analytics untuk menyalin data dari Apache Hive. Artikel tersebut dibuat berdasarkan artikel gambaran umum aktivitas salin yang menyajikan gambaran umum aktivitas salin.

Kemampuan yang didukung

Konektor Apache Hive ini didukung untuk kemampuan berikut:

Kemampuan yang didukung IR
Aktivitas penyalinan (sumber/-) ① ②
Alur data pemetaan (sumber/-)
Aktivitas pencarian ① ②

① Runtime integrasi Azure ② Runtime integrasi yang dihost sendiri

Untuk daftar penyimpanan data yang didukung sebagai sumber/sink oleh aktivitas salin, lihat tabel Penyimpanan data yang didukung.

Layanan ini menyediakan driver bawaan untuk mengaktifkan konektivitas, oleh karena itu Anda tidak perlu memasang driver apa pun secara manual menggunakan konektor ini.

Prasyarat

Jika penyimpanan data Anda terletak di dalam jaringan lokal, jaringan virtual Azure, atau Amazon Virtual Private Cloud, Anda harus mengonfigurasi runtime integrasi yang dihosting sendiri untuk menghubungkannya.

Jika penyimpanan data Anda adalah layanan data cloud terkelola, Anda dapat menggunakan Azure Integration Runtime. Jika akses dibatasi untuk IP yang disetujui dalam aturan firewall, Anda dapat menambahkan IP Azure Integration Runtime ke daftar izinkan.

Anda juga dapat menggunakan fitur runtime integrasi jaringan virtual terkelola di Azure Data Factory untuk mengakses jaringan lokal tanpa menginstal dan mengonfigurasi runtime integrasi yang dihosting sendiri.

Untuk informasi selengkapnya tentang mekanisme dan opsi keamanan jaringan yang didukung oleh Data Factory, lihat Strategi akses data.

Memulai

Untuk melakukan aktivitas Salin dengan alur, Anda dapat menggunakan salah satu alat atau SDK berikut:

Membuat layanan terkait ke Hive menggunakan UI

Gunakan langkah-langkah berikut untuk membuat layanan terkait ke Hive di UI portal Azure.

  1. Telusuri ke tab Kelola di ruang kerja Azure Data Factory atau Synapse Anda dan pilih Layanan Tertaut, lalu klik Baru:

  2. Cari Hive dan pilih konektor Hive.

    Select the Hive connector.

  3. Konfigurasikan detail layanan, uji koneksi, dan buat layanan tertaut baru.

    Configure a linked service to Hive.

Detail konfigurasi konektor

Bagian berikut memberikan detail tentang properti yang digunakan untuk menentukan entitas Data Factory khusus untuk konektor Apache Hive.

Properti layanan tertaut

Berikut ini properti yang didukung untuk layanan tertaut Apache Hive:

Properti Deskripsi Wajib
jenis Properti jenis harus diatur ke: Apache Hive. Ya
tuan rumah Alamat IP atau nama host server Apache Hive, dipisahkan oleh ';' untuk beberapa host (hanya ketika layananDiscoveryMode diaktifkan). Ya
pelabuhan Port TCP yang digunakan server Apache Hive untuk mendengarkan koneksi klien. Jika Anda terhubung ke Azure HDInsight, tentukan port sebagai 443. Ya
serverType Jenis server Apache Hive.
Nilai yang diperbolehkan adalah: HiveServer1, HiveServer2, HiveThriftServer
Tidak
thriftTransportProtocol Protokol transportasi untuk digunakan di lapisan Thrift.
Nilai yang diperbolehkan adalah: Binary, SASL, HTTP
Tidak
authenticationType Metode autentikasi yang digunakan untuk mengakses server Apache Hive.
Nilai yang diizinkan adalah: Anonim, Nama pengguna, UsernameAndPassword, WindowsAzureHDInsightService Autentikasi Kerberos tidak didukung.
Ya
layananDiscoveryMode true untuk menunjukkan penggunaan layanan Zookeeper, false jika tidak. Tidak
zooKeeperNameSpace Namespace layanan di ZooKeeper di mana node Apache Hive Server 2 ditambahkan. Tidak
useNativeQuery Menentukan apakah driver menggunakan kueri HiveQL asli, atau mengonversinya menjadi bentuk yang setara di HiveQL. Tidak
Nama pengguna Nama pengguna yang Anda gunakan untuk mengakses Server Apache Hive. Tidak
kata sandi Kata sandi yang sesuai dengan pengguna. Tandai bidang ini sebagai SecureString untuk menyimpannya dengan aman, atau mereferensikan rahasia yang disimpan di Azure Key Vault. Tidak
httpPath URL parsial yang sesuai dengan server Apache Hive. Tidak
enableSsl Menentukan apakah koneksi ke server dienkripsi menggunakan TLS. Nilai defaultnya adalah false. Tidak
trustedCertPath Jalur lengkap file .pem yang berisi sertifikat OS tepercaya untuk memverifikasi server saat menyambungkan melalui TLS. Properti ini hanya dapat diatur saat menggunakan TLS pada Runtime integrasi yang dihost sendiri. Nilai defaultnya adalah file cacerts.pem yang diinstal dengan Runtime integrasi. Tidak
useSystemTrustStore Menentukan apakah akan menggunakan sertifikat OS dari penyimpanan kepercayaan sistem atau dari file PEM yang ditentukan. Nilai defaultnya adalah false. Tidak
allowHostNameCNMismatch Menentukan apakah akan mewajibkan nama sertifikat TLS/SSL yang diterbitkan OS agar sesuai dengan nama host server saat menghubungkan melalui TLS. Nilai defaultnya adalah false. Tidak
allowSelfSignedServerCert Menentukan apakah akan mengizinkan sertifikat yang ditandatangani sendiri dari server. Nilai defaultnya adalah false. Tidak
connectVia Runtime integrasi yang akan digunakan untuk menyambungkan ke penyimpanan data. Pelajari selengkapnya dari bagian Prasyarat. Jika tidak ditentukan, Azure Integration Runtime default akan digunakan. Tidak
storageReference Referensi ke layanan tertaut dari akun penyimpanan yang digunakan untuk penahapan data dalam pemetaan aliran data. Hal ini hanya diperlukan saat menggunakan layanan tertaut Apache Hive dalam pemetaan aliran data Tidak

Contoh:

{
    "name": "HiveLinkedService",
    "properties": {
        "type": "Hive",
        "typeProperties": {
            "host" : "<cluster>.azurehdinsight.net",
            "port" : "<port>",
            "authenticationType" : "WindowsAzureHDInsightService",
            "username" : "<username>",
            "password": {
                "type": "SecureString",
                "value": "<password>"
            }
        }
    }
}

Properti himpunan data

Untuk daftar lengkap bagian dan properti yang tersedia untuk menentukan himpunan data, lihat artikel himpunan data. Bagian ini menyediakan daftar properti yang didukung oleh himpunan data Apache Hive.

Untuk menyalin data dari Apache Hive, atur properti jenis himpunan data ke HiveObject. Berikut adalah properti yang didukung:

Properti Deskripsi Wajib
jenis Properti jenis himpunan data harus diatur ke: HiveObject Ya
skema Nama skema. Tidak (jika "kueri" di sumber aktivitas ditentukan)
tabel Nama tabel. Tidak (jika "kueri" di sumber aktivitas ditentukan)
tableName Nama tabel termasuk bagian skema. Properti ini didukung untuk kompatibilitas mundur. Untuk beban kerja baru, gunakan schema dan table. Tidak (jika "kueri" di sumber aktivitas ditentukan)

Contoh

{
    "name": "HiveDataset",
    "properties": {
        "type": "HiveObject",
        "typeProperties": {},
        "schema": [],
        "linkedServiceName": {
            "referenceName": "<Hive linked service name>",
            "type": "LinkedServiceReference"
        }
    }
}

Properti aktivitas salin

Untuk daftar lengkap bagian dan properti yang tersedia untuk menentukan aktivitas, lihat artikel Alur. Bagian ini menyediakan daftar properti yang didukung oleh sumber Apache Hive.

HiveSource sebagai sumber

Untuk menyalin data dari Apache Hive, atur jenis sumber dalam aktivitas salin ke HiveSource. Berikut ini properti yang didukung di bagian sumber aktivitas salin:

Properti Deskripsi Wajib
jenis Properti jenis sumber aktivitas salin harus diatur ke: HiveSource Ya
pertanyaan Gunakan kueri SQL kustom untuk membaca data. Sebagai contoh: "SELECT * FROM MyTable". Tidak (jika "tableName" di himpunan data ditentukan)

Contoh:

"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>"
            }
        }
    }
]

Properti pemetaan aliran data

Konektor Apache Hive didukung sebagai sumber himpunan data sebaris dalam pemetaan alur data. Baca menggunakan kueri atau langsung dari tabel Apache Hive di HDInsight. Data Apache Hive ditahapkan di akun penyimpanan sebagai file Parquet sebelum diubah sebagai bagian dari aliran data.

Properti sumber

Tabel di bawah ini mencantumkan properti yang didukung oleh sumber Apache Hive. Anda bisa mengedit properti ini di tab opsi Sumber.

Nama Deskripsi Wajib diisi Nilai yang diizinkan Properti skrip aliran data
Bursa Microsoft Store harus hive yes hive penyimpanan
Format Baik ketika Anda membaca dari tabel maupun kueri yes table atau query format
Nama skema Jika membaca dari tabel, skema tabel sumber Ya, jika formatnya adalah table String schemaName
Nama tabel Jika membaca dari tabel, nama tabel Ya, jika formatnya adalah table String tableName
Kueri Jika formatnya adalah query, kueri sumber pada layanan tertaut Apache Hive Ya, jika formatnya adalah query String pertanyaan
Bertahap Meja Apache Hive akan selalu ditahapkan. yes true bertahap
Kontainer Penyimpanan Kontainer penyimpanan digunakan untuk menahapkan data sebelum membaca dari atau menulis ke Apache Hive. Kluster Apache Hive harus memiliki akses ke kontainer ini. yes String storageContainer
Database penahapan Skema/database tempat akun pengguna yang ditentukan dalam layanan tertaut memiliki akses ke. Skema ini digunakan untuk membuat tabel eksternal selama penahapan dan dihapus setelahnya no true atau false stagingDatabaseName
Pra Skrip SQL Kode SQL untuk berjalan pada tabel Apache Hive sebelum membaca data no String preSQL

Contoh sumber

Di bawah ini adalah contoh konfigurasi sumber Apache Hive:

Hive source example

Pengaturan tersebut diterjemahkan ke dalam skrip aliran data berikut ini:

source(
    allowSchemaDrift: true,
    validateSchema: false,
    ignoreNoFilesFound: false,
    format: 'table',
    store: 'hive',
    schemaName: 'default',
    tableName: 'hivesampletable',
    staged: true,
    storageContainer: 'khive',
    storageFolderPath: '',
    stagingDatabaseName: 'default') ~> hivesource

Batasan umum

  • Jenis kompleks seperti array, peta, structs, dan penyatuan tidak didukung untuk baca.
  • Konektor Apache Hive hanya mendukung tabel Apache Hive di Azure HDInsight versi 4.0 atau yang lebih besar (Apache Hive 3.1.0)
  • Secara default, driver Apache Hive menyediakan "tableName.columnName" di sink. Jika Anda tidak ingin melihat nama tabel dalam nama kolom, maka ada dua cara untuk memperbaikinya. a. Periksa pengaturan "hive.resultset.use.unique.column.names" di sisi server Apache Hive dan atur ke false. b. Gunakan pemetaan kolom untuk mengganti nama kolom.

Properti aktivitas pencarian

Untuk mempelajari detail tentang properti, lihat Aktivitas pencarian.

Untuk daftar penyimpanan data yang didukung sebagai sumber dan sink oleh aktivitas salin, lihat penyimpanan data yang didukung.