Samouczek: wykonywanie zapytań w usłudze Apache Hive przy użyciu technologii ODBC i programu PowerShell
Sterowniki ODBC firmy Microsoft zapewniają elastyczny sposób interakcji z różnymi rodzajami źródeł danych, w tym apache Hive. Możesz napisać kod w językach skryptowych, takich jak program PowerShell, który używa sterowników ODBC do otwierania połączenia z klastrem Hive, przekazywania wybranego zapytania i wyświetlania wyników.
W tym samouczku wykonasz następujące zadania:
- Pobieranie i instalowanie sterownika Microsoft Hive ODBC
- Tworzenie źródła danych ODBC apache Hive połączonego z klastrem
- Wykonywanie zapytań dotyczących przykładowych informacji z klastra przy użyciu programu PowerShell
Jeśli nie masz subskrypcji platformy Azure, przed rozpoczęciem utwórz bezpłatne konto.
Wymagania wstępne
Przed przystąpieniem do wykonywania kroków opisanych w tym samouczku musisz mieć poniższe:
- Klaster interakcyjnych zapytań w usłudze HDInsight. Aby je utworzyć, zobacz Rozpoczynanie pracy z usługą Azure HDInsight. Wybierz pozycję Zapytanie interakcyjne jako typ klastra.
Instalowanie sterownika ODBC programu Microsoft Hive
Pobierz i zainstaluj Sterownik Microsoft Hive ODBC.
Tworzenie źródła danych ODBC usługi Apache Hive
W poniższych krokach pokazano, jak utworzyć źródło danych ODBC apache Hive.
W systemie Windows przejdź do pozycji Uruchom>źródła danych ODBC Narzędzi>administracyjnych systemu Windows (32-bitowe)/(64-bitowe). Zostanie otwarte okno Administrator źródła danych ODBC.
Na karcie DsN użytkownika wybierz pozycję Dodaj, aby otworzyć okno Tworzenie nowego źródła danych.
Wybierz Sterownik Microsoft Hive ODBC, a następnie wybierz przycisk Zakończ, aby otworzyć okno Sterownik Microsoft Hive ODBC Instalatora DSN.
Wpisz lub wybierz poniższe wartości:
Właściwości opis Nazwa źródła danych Nadaj nazwę źródła danych. Host(s) Wprowadź CLUSTERNAME.azurehdinsight.net
. Na przykładmyHDICluster.azurehdinsight.net
Port Użyj portu 443. baza danych Użyj wartości domyślnej. Mechanizm Wybieranie usługi Windows Azure HDInsight Nazwa użytkownika Wprowadź nazwę użytkownika HTTP klastra usługi HDInsight. Domyślna nazwa użytkownika to admin
.Hasło Wprowadź hasło użytkownika klastra usługi HDInsight. Zaznacz pole wyboru Zapisz hasło (zaszyfrowane). Opcjonalnie: wybierz pozycję Opcje zaawansowane.
Parametr Opis Korzystanie z zapytania natywnego Po wybraniu sterownika ODBC nie próbuje przekonwertować języka TSQL na hiveQL. Użyj tej opcji tylko wtedy, gdy masz 100% pewności, że przesyłasz czyste instrukcje HiveQL. Podczas nawiązywania połączenia z programem SQL Server lub usługą Azure SQL Database należy pozostawić je niezaznaczone. Wiersze pobierane na blok Podczas pobierania dużej liczby rekordów dostrajanie tego parametru może być wymagane w celu zapewnienia optymalnej wydajności. Domyślna długość kolumny ciągu, długość kolumny binarnej, skala kolumn dziesiętnych Długość i precyzje typów danych mogą mieć wpływ na sposób zwracania danych. Powodują one zwrócenie nieprawidłowych informacji z powodu utraty dokładności i obcinania. Wybierz pozycję Testuj , aby przetestować źródło danych. Po poprawnym skonfigurowaniu źródła danych wynik testu pokazuje powodzenie.
Wybierz przycisk OK , aby zamknąć okno Test.
Wybierz przycisk OK, aby zamknąć okno konfiguracji Sterownik Microsoft Hive ODBC DSN.
Wybierz przycisk OK , aby zamknąć okno Administrator źródła danych ODBC.
Wykonywanie zapytań dotyczących danych za pomocą programu PowerShell
Poniższy skrypt programu PowerShell jest funkcją, która ODBC wysyła zapytanie do klastra 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
}
Poniższy fragment kodu używa powyższej funkcji do wykonywania zapytania w klastrze interactive query utworzonym na początku samouczka. Zastąp DATASOURCENAME
ciąg nazwą źródła danych określoną na ekranie Sterownik Microsoft Hive ODBC Instalator DSN. Po wyświetleniu monitu o poświadczenia wprowadź nazwę użytkownika i hasło wprowadzone w obszarze Nazwa użytkownika logowania klastra i Hasło logowania klastra podczas tworzenia klastra.
$dsn = "DATASOURCENAME"
$query = "select count(distinct clientid) AS total_clients from hivesampletable"
Get-ODBC-Data -query $query -dsn $dsn
Czyszczenie zasobów
Gdy grupa zasobów, klaster usługi HDInsight i konto magazynu nie będą już potrzebne, usuń je. W tym celu wybierz grupę zasobów, w której został utworzony klaster, i kliknij przycisk Usuń.
Następne kroki
W tym samouczku przedstawiono sposób używania sterownika Microsoft Hive ODBC i programu PowerShell do pobierania danych z klastra interakcyjnego zapytań usługi Azure HDInsight.