Sdílet prostřednictvím


Kurz: Dotazování Apache Hivu pomocí rozhraní ODBC a PowerShellu

Ovladače Microsoft ODBC poskytují flexibilní způsob interakce s různými druhy zdrojů dat, včetně Apache Hivu. Kód můžete napsat ve skriptovacích jazycích, jako je PowerShell, který používá ovladače ODBC k otevření připojení ke clusteru Hive, předání dotazu podle vašeho výběru a zobrazení výsledků.

V tomto kurzu provedete následující úlohy:

  • Stažení a instalace ovladače MICROSOFT Hive ODBC
  • Vytvoření zdroje dat Apache Hive ODBC propojeného s clusterem
  • Dotazování ukázkových informací z clusteru pomocí PowerShellu

Pokud ještě nemáte předplatné Azure, vytvořte si bezplatný účet před tím, než začnete.

Požadavky

Před zahájením tohoto kurzu musíte mít tyto položky:

Instalace ovladače Microsoft Hive ODBC

Stáhněte a nainstalujte ovladač MICROSOFT Hive ODBC.

Vytvoření zdroje dat APACHE Hive ODBC

Následující kroky ukazují, jak vytvořit zdroj dat Apache Hive ODBC.

  1. Ve Windows přejděte do nabídky Spustit>zdroje dat ODBC nástrojů pro>správu systému Windows (32bitová verze)/(64bitová verze). Otevře se okno Správce zdroje dat ODBC.

    Správce zdrojů dat ODBC.

  2. Na kartě DsN uživatele vyberte Přidat a otevřete okno Vytvořit nový zdroj dat.

  3. Vyberte ovladač Microsoft Hive ODBC a potom výběrem možnosti Dokončit otevřete okno pro nastavení dsN ovladače ODBC Microsoft Hive.

  4. Zadejte nebo vyberte tyto hodnoty:

    Vlastnost Popis
    Název zdroje dat Zadejte název zdroje dat.
    Host(s) Zadejte CLUSTERNAME.azurehdinsight.net. Například myHDICluster.azurehdinsight.net
    Port Použijte 443.
    Databáze Použijte výchozí hodnotu.
    Mechanismus Výběr služby Windows Azure HDInsight
    Uživatelské jméno Zadejte uživatelské jméno uživatele HTTP clusteru HDInsight. Výchozí uživatelské jméno je admin.
    Heslo Zadejte uživatelské heslo clusteru HDInsight. Zaškrtněte políčko Uložit heslo (zašifrováno).
  5. Volitelné: Vyberte Rozšířené možnosti.

    Parametr Popis
    Použití nativního dotazu Při výběru se ovladač ODBC nepokusí převést TSQL na HiveQL. Tuto možnost použijte jenom v případě, že jste 100 % jistoty, že odesíláte čistě příkazy HiveQL. Při připojování k SQL Serveru nebo Azure SQL Database byste měli ponechat nezaškrtnuté políčko.
    Řádky načtené na jeden blok Při načítání velkého počtu záznamů se může vyžadovat ladění tohoto parametru, aby se zajistil optimální výkon.
    Výchozí délka sloupce řetězce, binární délka sloupce, měřítko desetinných sloupců Délky a přesnosti datového typu můžou ovlivnit způsob vrácení dat. Způsobují vrácení nesprávných informací kvůli ztrátě přesnosti a zkrácení.

    Rozšířené možnosti konfigurace DSN

  6. Vyberte Test a otestujte zdroj dat. Pokud je zdroj dat správně nakonfigurovaný, výsledek testu zobrazí úspěch.

  7. Výběrem možnosti OK zavřete okno Test.

  8. Výběrem možnosti OK zavřete okno nastavení DSN ovladače Microsoft Hive ODBC.

  9. Výběrem tlačítka OK zavřete okno Správce zdroje dat ODBC.

Dotazování dat pomocí PowerShellu

Následující skript PowerShellu je funkce, která odbc dotazuje cluster 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
}

Následující fragment kódu používá výše uvedenou funkci ke spuštění dotazu v clusteru Interactive Query, který jste vytvořili na začátku kurzu. Nahraďte DATASOURCENAME názvem zdroje dat, který jste zadali na instalační obrazovce ovladače ODBC Microsoft Hive. Po zobrazení výzvy k zadání přihlašovacích údajů zadejte uživatelské jméno a heslo, které jste zadali v části Přihlašovací uživatelské jméno clusteru a heslo pro přihlášení clusteru při vytváření clusteru.


$dsn = "DATASOURCENAME"

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

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

Vyčištění prostředků

Pokud už je nepotřebujete, odstraňte skupinu prostředků, cluster HDInsight a účet úložiště. Uděláte to tak, že vyberete skupinu prostředků, ve které byl cluster vytvořen, a kliknete na Odstranit.

Další kroky

V tomto kurzu jste zjistili, jak pomocí ovladače Microsoft Hive ODBC a PowerShellu načíst data z clusteru Azure HDInsight Interactive Query.