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:
- Cluster Interactive Query ve službě HDInsight. Pokud ho chcete vytvořit, přečtěte si téma Začínáme se službou Azure HDInsight. Jako typ clusteru vyberte Interactive Query .
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.
Ve Windows přejděte na Start>Windows Správa istrative Tools>ODBC Data Sources (32bitová verze)/(64bitová verze). Otevře se okno zdroje dat ODBC Správa istrator.
Na kartě DsN uživatele vyberte Přidat a otevřete okno Vytvořit nový zdroj dat.
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.
Zadejte nebo vyberte tyto hodnoty:
Vlastnost Popis Název zdroje dat Zadejte název zdroje dat. Host(s) Zadejte CLUSTERNAME.azurehdinsight.net
. NapříkladmyHDICluster.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). 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í. Vyberte Test a otestujte zdroj dat. Pokud je zdroj dat správně nakonfigurovaný, výsledek testu zobrazí úspěch.
Výběrem možnosti OK zavřete okno Test.
Výběrem možnosti OK zavřete okno nastavení DSN ovladače Microsoft Hive ODBC.
Výběrem tlačítka OK zavřete okno zdroje dat ODBC Správa istrator.
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.