Öğretici: ODBC ve PowerShell ile Apache Hive sorgulama

Microsoft ODBC sürücüleri Apache Hive da dahil olmak üzere farklı veri kaynaklarıyla etkileşime geçmek için esnek bir yol sağlar. Hive kümenize bağlantı açmak, seçtiğiniz bir sorguyu geçirmek ve sonuçları görüntülemek için ODBC sürücülerini kullanan PowerShell gibi betik dillerinde kod yazabilirsiniz.

Bu öğreticide aşağıdaki görevleri gerçekleştireceksiniz:

  • Microsoft Hive ODBC sürücüsünü indirme ve yükleme
  • Kümenize bağlı bir Apache Hive ODBC veri kaynağı oluşturma
  • PowerShell kullanarak kümenizden örnek bilgileri sorgulama

Azure aboneliğiniz yoksa başlamadan önce ücretsiz bir hesap oluşturun.

Önkoşullar

Bu öğreticiye başlamadan önce aşağıdaki öğelere sahip olmanız gerekir:

  • HDInsight üzerinde Etkileşimli Sorgu kümesi. Bir tane oluşturmak için bkz . Azure HDInsight'ı kullanmaya başlama. Küme türü olarak Etkileşimli Sorgu'yu seçin.

Microsoft Hive ODBC sürücüsünü yükleme

Microsoft Hive ODBC Sürücüsü indirip yükleyin.

Apache Hive ODBC veri kaynağı oluşturma

Aşağıdaki adımlarda Apache Hive ODBC veri kaynağının nasıl oluşturulacağı gösterilmektedir.

  1. Windows'tan Windows Yönetici Istrative Tools>ODBC Veri Kaynaklarını Başlat (32 bit)/(64 bit)'ne >gidin. ODBC Veri Kaynağı Yönetici istrator penceresi açılır.

    OBDC data source administrator.

  2. Kullanıcı DSN sekmesinde Ekle'yi seçerek Yeni Veri Kaynağı Oluştur penceresini açın.

  3. Microsoft Hive ODBC Sürücüsü'ı seçin ve ardından Son'u seçerek Microsoft Hive ODBC Sürücüsü DSN Kurulumu penceresini açın.

  4. Aşağıdaki değerleri yazın veya seçin:

    Özellik Açıklama
    Data Source Name Veri kaynağınız için bir ad verin
    Ana bilgisayarlar CLUSTERNAME.azurehdinsight.net girin. Örneğin myHDICluster.azurehdinsight.net
    Bağlantı noktası 443 yazın.
    Veritabanı Varsayılanı kullanın.
    Mekanizma Windows Azure HDInsight Hizmeti'ne tıklayın
    User Name HDInsight kümesi HTTP kullanıcı adı girin. Varsayılan kullanıcı adıdır admin.
    Parola HDInsight kümesi kullanıcı parolasını girin. Parolayı Kaydet (Şifrelenmiş) onay kutusunu seçin.
  5. İsteğe bağlı: Gelişmiş Seçenekler'i seçin.

    Parametre Açıklama
    Yerel Sorgu Kullanma Seçildiğinde, ODBC sürücüsü TSQL'i HiveQL'e dönüştürmeyi DENEMEZ. Bu seçeneği yalnızca saf HiveQL deyimleri gönderdiğinizden %100 eminseniz kullanın. SQL Server'a veya Azure SQL Veritabanı bağlanırken işaretsiz bırakmalısınız.
    Blok başına getirilen satırlar Çok sayıda kayıt getirilirken, en iyi performansı sağlamak için bu parametrenin ayarlanması gerekebilir.
    Varsayılan dize sütun uzunluğu, İkili sütun uzunluğu, Ondalık sütun ölçeği Veri türü uzunlukları ve duyarlıkları, verilerin nasıl döndürülebileceğini etkileyebilir. Duyarlık ve kesme kaybı nedeniyle yanlış bilgilerin döndürülmasına neden olurlar.

    Advanced DSN configuration options.

  6. Veri kaynağını test etmek için Test'i seçin. Veri kaynağı doğru yapılandırıldığında test sonucu SUCCESS değerini gösterir.

  7. Tamam'ı seçerek Test penceresini kapatın.

  8. Microsoft Hive ODBC Sürücüsü DSN Kurulumu penceresini kapatmak için Tamam'ı seçin.

  9. ODBC Veri Kaynağı Yönetici istrator penceresini kapatmak için Tamam'ı seçin.

PowerShell ile verileri sorgulama

Aşağıdaki PowerShell betiği, HIVE kümesini sorgulamak için ODBC'nin yaptığı bir işlevdir.

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
}

Aşağıdaki kod parçacığı, öğreticinin başında oluşturduğunuz Etkileşimli Sorgu kümesinde sorgu yürütmek için yukarıdaki işlevi kullanır. değerini, Microsoft Hive ODBC Sürücüsü DSN Kurulumu ekranında belirttiğiniz Veri Kaynağı Adı ile değiştirinDATASOURCENAME. Kimlik bilgileri istendiğinde, kümeyi oluştururken Küme oturum açma kullanıcı adı ve Küme oturum açma parolası altında girdiğiniz kullanıcı adını ve parolayı girin.


$dsn = "DATASOURCENAME"

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

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

Kaynakları temizleme

Artık gerekli olmadığında kaynak grubunu, HDInsight kümesini ve depolama hesabını silin. Bunu yapmak için kümenin oluşturulduğu kaynak grubunu seçin ve Sil'e tıklayın.

Sonraki adımlar

Bu öğreticide, Azure HDInsight Etkileşimli Sorgu kümenizden veri almak için Microsoft Hive ODBC sürücüsünü ve PowerShell'i kullanmayı öğrendiniz.