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/-) | (1) (2) |
Alur data pemetaan (sumber/-) | (1) |
Aktivitas pencarian | (1) (2) |
① 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.
Konektor mendukung versi Windows dalam artikel 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:
- Alat Penyalinan Data
- Portal Microsoft Azure
- SDK .NET
- SDK Python
- Azure PowerShell
- REST API
- Templat Azure Resource Manager
Membuat layanan terkait ke Hive menggunakan UI
Gunakan langkah-langkah berikut untuk membuat layanan terkait ke Hive di UI portal Azure.
Telusuri ke tab Kelola di ruang kerja Azure Data Factory atau Synapse Anda dan pilih Layanan Tertaut, lalu klik Baru:
Cari Hive dan pilih konektor Hive.
Konfigurasikan detail layanan, uji koneksi, dan buat layanan tertaut baru.
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 |
No |
thriftTransportProtocol | Protokol transportasi untuk digunakan di lapisan Thrift. Nilai yang diperbolehkan adalah: Binary, SASL, HTTP |
No |
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. | No |
zooKeeperNameSpace | Namespace layanan di ZooKeeper di mana node Apache Hive Server 2 ditambahkan. | No |
useNativeQuery | Menentukan apakah driver menggunakan kueri HiveQL asli, atau mengonversinya menjadi bentuk yang setara di HiveQL. | No |
Nama pengguna | Nama pengguna yang Anda gunakan untuk mengakses Server Apache Hive. | No |
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. | No |
httpPath | URL parsial yang sesuai dengan server Apache Hive. | No |
enableSsl | Menentukan apakah koneksi ke server dienkripsi menggunakan TLS. Nilai defaultnya adalah false. | No |
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. | No |
useSystemTrustStore | Menentukan apakah akan menggunakan sertifikat OS dari penyimpanan kepercayaan sistem atau dari file PEM yang ditentukan. Nilai defaultnya adalah false. | No |
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. | No |
allowSelfSignedServerCert | Menentukan apakah akan mengizinkan sertifikat yang ditandatangani sendiri dari server. Nilai defaultnya adalah false. | No |
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. | No |
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 | No |
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. Misalnya: "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:
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
Pembatasan yang diketahui
- 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.
Konten terkait
Untuk daftar penyimpanan data yang didukung sebagai sumber dan sink oleh aktivitas salin, lihat penyimpanan data yang didukung.