Tutorial: Mengkueri Apache Hive dengan ODBC dan PowerShell

Pengandar Microsoft ODBC menyediakan cara yang fleksibel untuk berinteraksi dengan berbagai jenis sumber data, termasuk Apache Hive. Anda dapat menulis kode dalam bahasa skrip seperti PowerShell yang menggunakan pengandar ODBC untuk membuka koneksi ke kluster Apache Hive Anda, meneruskan kueri yang Anda pilih, dan menampilkan hasilnya.

Dalam tutorial ini, Anda akan melakukan tugas-tugas berikut:

  • Mengunduh dan memasang pengandar ODBC Microsoft Apache Hive
  • Membuat sumber data Apache Hive ODBC yang ditautkan ke kluster Anda
  • Mengkueri informasi sampel dari kluster Anda menggunakan PowerShell

Jika Anda tidak memiliki langganan Azure, buat akun gratis sebelum memulai.

Prasyarat

Sebelum memulai tutorial ini, Anda harus memiliki item berikut:

Instal driver ODBC Microsoft Apache Hive

Unduh dan pasang Microsoft Hive ODBC Driver.

Membuat sumber data ODBC Apache Hive

Langkah-langkah berikut menunjukkan cara membuat sumber data ODBC Apache Hive.

  1. Dari Windows, navigasi ke Mulai>Alat Admnistratif Windows>Sumber Data ODBC (32-bit)/(64-bit). Jendela Administrator Sumber Data ODBC terbuka.

    OBDC data source administrator.

  2. Dari tab DSN Pengguna, pilih Tambah untuk membuka jendela Buat Sumber Data Baru.

  3. Pilih Microsoft Apache Hive ODBC Driver, lalu pilih Selesai untuk membuka jendela Penyetelan DSN Microsoft Apache Hive ODBC Driver.

  4. Ketik atau pilih nilai berikut:

    Properti Deskripsi
    Nama Sumber Data Berikan nama ke sumber data Anda
    Host Memasuki CLUSTERNAME.azurehdinsight.net. Misalnya: myHDICluster.azurehdinsight.net
    Port Gunakan 443.
    Database Gunakan default.
    Mekanisme Pilih Layanan Windows Azure HDInsight
    Nama Pengguna Masukkan nama pengguna HTTP kluster HDInsight. Nama pengguna default adalah admin.
    Kata sandi Masukkan sandi pengguna kluster Azure HDInsight. Pilih kotak centang Simpan Kata Sandi (Terenkripsi).
  5. Opsional: Pilih Opsi Tingkat Lanjut.

    Parameter Deskripsi
    Gunakan Kueri Asli Ketika dipilih, pengandar ODBC TIDAK mencoba mengubah TSQL menjadi HiveQL. Gunakan opsi ini hanya jika Anda 100% yakin bahwa Anda mengirimkan pernyataan HiveQL murni. Saat menyambungkan ke SQL Server atau Azure SQL Database, Anda harus membiarkannya tidak dicentang.
    Baris yang diambil per blok Saat mengambil sejumlah besar baris data, menyetel parameter ini mungkin diperlukan untuk memastikan kinerja yang optimal.
    Panjang kolom string default, panjang kolom Biner, skala kolom Desimal Panjang dan presisi jenis data dapat memengaruhi cara data dikembalikan. Mereka menyebabkan informasi yang salah dikembalikan karena hilangnya presisi dan pemotongan.

    Advanced DSN configuration options.

  6. Pilih Uji untuk menguji sumber data. Ketika sumber data dikonfigurasi dengan benar, hasil pengujian menunjukkan BERHASIL.

  7. Pilih OK untuk menutup jendela Uji.

  8. Pilih OK untuk menutup jendela Penyetelan DSN Microsoft Hive ODBC Driver.

  9. Pilih OK untuk menutup jendela Administrator Sumber Data ODBC.

Mengkueri data dengan PowerShell

Skrip PowerShell berikut ini adalah fungsi yang ODBC gunakan untuk mengkueri kluster Apache Hive.

function Get-ODBC-Data {

   param(
   [string]$query=$(throw 'query is required.'),
   [string]$dsn,  
   [PSCredential] $cred = (Get-Credential)  
   )

   $conn = New-Object System.Data.Odbc.OdbcConnection
   $uname = $cred.UserName

   $pswd = (New-Object System.Net.NetworkCredential -ArgumentList "", $cred.Password).Password
   $conn.ConnectionString = "DSN=$dsn;Uid=$uname;Pwd=$pswd;"
   $conn.open()
   $cmd = New-object System.Data.Odbc.OdbcCommand($query,$conn)

   $ds = New-Object system.Data.DataSet

   (New-Object system.Data.odbc.odbcDataAdapter($cmd)).fill($ds) #| out-null
   $conn.close()
   $ds.Tables
}

Cuplikan kode berikut menggunakan fungsi di atas untuk menjalankan kueri pada kluster Interactive Query yang Anda buat di awal tutorial. Ganti DATASOURCENAME dengan Nama Sumber Data yang Anda tentukan di layar Penyetelan DSN Microsoft Hive ODBC Driver. Ketika dimintai informasi masuk, masukkan nama pengguna dan kata sandi yang Anda masukkan di bawah Nama pengguna masuk kluster dan Kata sandi masuk kluster saat Anda membuat kluster.


$dsn = "DATASOURCENAME"

$query = "select count(distinct clientid) AS total_clients from hivesampletable"

Get-ODBC-Data -query $query -dsn $dsn

Membersihkan sumber daya

Saat tidak lagi diperlukan, hapus grup sumber daya, kluster Azure HDInsight, dan akun penyimpanan. Untuk melakukannya, pilih grup sumber daya tempat kluster dibuat dan klik Hapus.

Langkah berikutnya

Dalam tutorial ini, Anda mempelajari cara menggunakan pengandar ODBC Microsoft Apache Hive dan PowerShell untuk mengambil data dari kluster Interactive Query Azure HDInsight Anda.