Megosztás a következőn keresztül:


Oktatóanyag: Apache Hive lekérdezése ODBC-vel és PowerShell-lel

A Microsoft ODBC-illesztőprogramok rugalmas módot biztosítanak a különböző típusú adatforrásokkal való interakcióra, beleértve az Apache Hive-t is. Olyan szkriptnyelvekbe írhat kódot, mint a PowerShell, amely az ODBC-illesztőprogramokkal kapcsolatot nyit meg a Hive-fürthöz, átad egy ön által választott lekérdezést, és megjeleníti az eredményeket.

Ebben az oktatóanyagban a következő feladatokat fogja elvégezni:

  • A Microsoft Hive ODBC-illesztőprogram letöltése és telepítése
  • A fürthöz társított Apache Hive ODBC-adatforrás létrehozása
  • Mintaadatok lekérdezése a fürtből a PowerShell használatával

Ha nem rendelkezik Azure-előfizetéssel, mindössze néhány perc alatt létrehozhat egy ingyenes fiókot a virtuális gép létrehozásának megkezdése előtt.

Előfeltételek

Az oktatóanyag elkezdéséhez az alábbiakkal kell rendelkeznie:

  • Interaktív lekérdezésfürt a HDInsighton. A létrehozáshoz tekintse meg az Azure HDInsight használatának első lépéseit. Fürttípusként válassza az Interaktív lekérdezés lehetőséget.

A Microsoft Hive ODBC-illesztőprogram telepítése

Töltse le és telepítse a Microsoft Hive ODBC-illesztőprogramot.

Apache Hive ODBC-adatforrás létrehozása

Az alábbi lépések bemutatják, hogyan hozhat létre Apache Hive ODBC-adatforrást.

  1. A Windowsból lépjen a >Windows Rendszergazda istrative Tools ODBC Adatforrások>(32 bites)/(64 bites) elemre. Megnyílik egy ODBC-adatforrás Rendszergazda istrator ablak.

    OBDC data source administrator.

  2. A Felhasználói DSN lapon válassza a Hozzáadás lehetőséget az Új adatforrás létrehozása ablak megnyitásához.

  3. Válassza a Microsoft Hive ODBC-illesztőprogramot, majd a Befejezés lehetőséget a Microsoft Hive ODBC-illesztőprogram DSN telepítőablakának megnyitásához.

  4. Írja be vagy válassza ki az alábbi értékeket:

    Tulajdonság Leírás
    Adatforrás neve Adjon nevet az adatforrásának
    Házigazda Írja be CLUSTERNAME.azurehdinsight.net. Például: myHDICluster.azurehdinsight.net
    Kikötő Használja a 443 számú portot.
    Adatbázis Használja az alapértelmezett beállítást.
    Mechanizmus A Windows Azure HDInsight szolgáltatás kiválasztása
    Felhasználónév Adja meg a HDInsight-fürt HTTP-felhasználónevét. Az alapértelmezett felhasználónév a következő admin: .
    Jelszó Adja meg a HDInsight-fürt felhasználói jelszavát. Jelölje be a Jelszó mentése (Titkosított) jelölőnégyzetet.
  5. Nem kötelező: Válassza a Speciális beállítások lehetőséget.

    Paraméter Leírás
    Natív lekérdezés használata Ha ki van választva, az ODBC-illesztő NEM próbálja a TSQL-t HiveQL-re konvertálni. Ezt a lehetőséget csak akkor használja, ha 100%-ig biztos abban, hogy tiszta HiveQL-utasításokat küld. Az SQL Serverhez vagy az Azure SQL Database-hez való csatlakozáskor hagyja bejelöletlenül.
    Blokkonként lekért sorok Nagy számú rekord beolvasásakor szükség lehet a paraméter finomhangolására az optimális teljesítmény biztosításához.
    Alapértelmezett sztringoszlop hossza, Bináris oszlop hossza, Tizedesoszlop skálája Az adattípus hossza és pontossága befolyásolhatja az adatok visszaadása módját. Helytelen adatokat adnak vissza a pontosság és a csonkolás elvesztése miatt.

    Advanced DSN configuration options.

  6. Válassza a Tesztelés lehetőséget az adatforrás teszteléséhez. Ha az adatforrás megfelelően van konfigurálva, a teszt eredménye sikeres lesz.

  7. A Teszt ablak bezárásához kattintson az OK gombra .

  8. Kattintson az OK gombra a Microsoft Hive ODBC-illesztőprogram DSN telepítőablakának bezárásához .

  9. Az OK gombra kattintva zárja be az ODBC Adatforrás Rendszergazda istrator ablakát.

Adatok lekérdezése a PowerShell-lel

A következő PowerShell-szkript egy függvény, amelyet az ODBC a Hive-fürtök lekérdezéséhez használ.

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
}

Az alábbi kódrészlet a fenti függvény használatával hajt végre egy lekérdezést az oktatóanyag elején létrehozott Interaktív lekérdezési fürtön. Cserélje le DATASOURCENAME a Microsoft Hive ODBC-illesztőprogram DSN telepítő képernyőjén megadott adatforrásnévre. Amikor a rendszer hitelesítő adatokat kér, adja meg a fürt bejelentkezési felhasználóneve és a fürt bejelentkezési jelszava alatt megadott felhasználónevet és jelszót a fürt létrehozásakor.


$dsn = "DATASOURCENAME"

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

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

Az erőforrások eltávolítása

Ha már nincs rá szükség, törölje az erőforráscsoportot, a HDInsight-fürtöt és a tárfiókot. Ehhez válassza ki azt az erőforráscsoportot, amelyben a fürt létre lett hozva, és kattintson a Törlés gombra.

Következő lépések

Ebben az oktatóanyagban megtanulta, hogyan kérhet le adatokat az Azure HDInsight Interaktív lekérdezési fürtből a Microsoft Hive ODBC-illesztővel és a PowerShell-lel.