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:

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.

  1. W systemie Windows przejdź do pozycji Uruchom>narzędzia windows Administracja istrative Tools>ODBC Data Sources (32-bitowe)/(64-bitowe). Zostanie otwarte okno Administracja istrator źródła danych ODBC.

    OBDC data source administrator.

  2. Na karcie DsN użytkownika wybierz pozycję Dodaj, aby otworzyć okno Tworzenie nowego źródła danych.

  3. Wybierz Sterownik Microsoft Hive ODBC, a następnie wybierz przycisk Zakończ, aby otworzyć okno Sterownik Microsoft Hive ODBC Instalatora DSN.

  4. 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ład myHDICluster.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).
  5. 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.

    Advanced DSN configuration options.

  6. Wybierz pozycję Testuj , aby przetestować źródło danych. Po poprawnym skonfigurowaniu źródła danych wynik testu pokazuje powodzenie.

  7. Wybierz przycisk OK , aby zamknąć okno Test.

  8. Wybierz przycisk OK, aby zamknąć okno konfiguracji Sterownik Microsoft Hive ODBC DSN.

  9. Wybierz przycisk OK, aby zamknąć okno Administracja istrator ź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.