Database
 sql >> Baza danych >  >> RDS >> Database

Sterownik ODBC Apache Spark

Obecnie opracowujemy sterownik ODBC Apache Spark, który umożliwia pracę z danymi Spark w aplikacjach takich jak Perl, PHP, Excel i Oracle).

Konfigurowanie źródła danych ODBC

Zanim sterownik ODBC Apache Spark będzie mógł zostać użyty do połączenia aplikacji z Apache Spark, konieczne jest skonfigurowanie źródła danych ODBC. Źródło danych ODBC przechowuje szczegóły połączenia z docelową bazą danych (np. Apache Spark) oraz sterownik ODBC, który jest wymagany do połączenia się z nią (np. sterownik ODBC Apache Spark).

Aby użyć sterownika ODBC Apache Spark, musisz utworzyć konto programisty Apache Spark. Zaloguj się do pulpitu programisty Apache Spark i utwórz aplikację REST API. Będziesz potrzebować identyfikatora klienta i klucza tajnego aplikacji, aby utworzyć źródło danych dla sterownika ODBC Apache Spark.

Źródła danych ODBC są konfigurowane w Administratorze ODBC, który jest dołączony do systemu Windows.

W Administratorze ODBC:

  1. Wybierz kartę Systemowe DSN, a następnie wybierz Dodaj.
  2. W oknie dialogowym Utwórz nowe źródło danych wybierz Easysoft ODBC-Apache Spark Driver, a następnie wybierz Zakończ.
  3. Wypełnij pola w oknie dialogowym Konfiguracja DSN Easysoft ODBC-Apache Spark Driver.
  4. W aplikacji połącz się z nowo skonfigurowanym źródłem danych i uruchom przykładowe zapytanie. Na przykład:
    select * from MyTable

Pracuj z danymi Apache Spark w Perlu

Strawberry Perl to dystrybucja Perla dla systemu Windows, która zawiera niezbędne warstwy oprogramowania pośredniego (Perl DBI i Perl DBD::ODBC), aby umożliwić sterownikowi Apache Spark ODBC łączenie aplikacji Perla z Apache Spark.

  1. Oto skrypt Perla, który pobiera niektóre dane Apache Spark:
    #!/usr/bin/perl -w
    use strict;
    use DBI;
    my $dbh = DBI-> connect('dbi:ODBC:MyApacheSparkDataSource');
    
    my $sql = "SELECT MyCol FROM MyTable LIMIT 10";
    
    # Prepare the statement.
    my $sth = $dbh->prepare($sql)
        or die "Can't prepare statement: $DBI::errstr";
    
    # Execute the statement.
    $sth->execute();
    
    my($SparkCol);
    
    # Fetch and display the result set value.
    while(($SparkCol) = $sth->fetchrow()){
       print("$SparkCol\n");                   
    }
    
    $dbh->disconnect if ($dbh);

Pracuj z danymi Apache Spark w PHP

  1. Oto skrypt PHP, który pobiera niektóre dane Apache Spark:
    <?php
      $con = odbc_connect("MyApacheSparkDataSource", "", "");
      $err = odbc_errormsg();
      if (strlen($err) <> 0) {
        echo odbc_errormsg();
      } else {
        $rs2 = odbc_exec($con, "select MyCol from MyTable");
        odbc_result_all($rs2);
        odbc_close($con);
      }
    ?>

Podłączanie Excela do Apache Spark

Wykonaj poniższe czynności, aby zwrócić dane z Apache Spark do programu Microsoft Excel za pomocą programu Microsoft Query:

  1. Na Danych wybierz opcję Nowe zapytanie> Z innego źródła> Z ODBC .
  2. Po wyświetleniu monitu wybierz źródło danych Apache Spark ODBC.
  3. Wybierz tabelę z dostępnych zestawów danych.
  4. Wybierz Załaduj, aby zwrócić dane Apache Spark do arkusza.

    Zwróć uwagę, że w przypadku dużych zestawów wyników może być konieczne przefiltrowanie danych za pomocą programu Excel, zanim dane będą mogły zostać zwrócone do arkusza roboczego.

Połącz się z Apache Spark z Oracle

  1. Utwórz plik init DG4ODBC na swoim komputerze Oracle. Aby to zrobić, przejdź do %ORACLE_HOME%\hs\admin informator. Utwórz kopię pliku initdg4odbc.ora . Nazwij nowy plik initspark.ora .

    Uwaga W tych instrukcjach zastąp %ORACLE_HOME% lokalizacją katalogu Oracle HOME. Na przykład C:\oraclexe\app\oracle\product\11.2.0\server .

  2. Upewnij się, że te parametry i wartości są obecne w Twoim pliku początkowym:
    HS_FDS_CONNECT_INFO = MyApacheSparkDataSource
  3. Skomentuj wiersz, który umożliwia śledzenie DG4ODBC. Na przykład:
    #HS_FDS_TRACE_LEVEL = <trace_level>
    
  4. Dodaj wpis do %ORACLE_HOME%\network\admin\listener.ora który tworzy SID_NAME dla DG4ODBC. Na przykład:
    SID_LIST_LISTENER =
     (SID_LIST =
       (SID_DESC=
         (SID_NAME=spark)
         (ORACLE_HOME=%ORACLE_HOME%)
         (PROGRAM=dg4odbc)
       )
     )
    
  5. Dodaj wpis DG4ODBC do %ORACLE_HOME%\network\admin\tnsnames.ora który określa SID_NAME utworzony w poprzednim kroku. Na przykład:
    SPARK =
      (DESCRIPTION =
        (ADDRESS = (PROTOCOL = TCP)(HOST = oracle_host)(PORT = 1521))
        (CONNECT_DATA =
          (SID = spark)
        )
        (HS = OK)
      )
    

    Zastąp oracle_host z nazwą hosta Twojej maszyny Oracle.

  6. Uruchom (lub uruchom ponownie) Oracle Listener:
    cd %ORACLE_HOME%\bin
    lsnrctl stop
    lsnrctl start
    
  7. Połącz się z bazą danych Oracle w SQL*Plus.
  8. W SQL*Plus utwórz łącze do bazy danych dla docelowej instancji Apache Spark. Na przykład:
    CREATE PUBLIC DATABASE LINK SPARKLINK CONNECT TO "mydummyuser" IDENTIFIED BY "mydummypassword" USING 'spark';
    
  9. Spróbuj wysłać zapytanie do danych Apache Spark. Na przykład:
    SELECT * FROM "MyTable"@SPARKLINK;
    
Notatki
  • Jeśli masz problemy z połączeniem z Apache Spark z Oracle, włącz śledzenie DG4ODBC i sprawdź pliki śledzenia zapisane w %ORACLE_HOME%\hs\trace informator. Aby włączyć śledzenie DG4ODBC, dodaj wiersz HS_FDS_TRACE_LEVEL = DEBUG do initspark.ora a następnie uruchom/zrestartuj odbiornik Oracle. Jeśli trace katalog nie istnieje, utwórz go.
  • Jeśli włączysz śledzenie Menedżera sterowników ODBC, ale nie otrzymasz pliku śledzenia lub nie uzyskasz pustego pliku śledzenia (sprawdź C:\SQL.log), zmień lokalizację pliku śledzenia na katalog Windows TEMP. Na przykład C:\Windows\Temp\SQL.log .

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Polecenie T-SQL do rzeczy

  2. Sprawdź ograniczenie w SQL

  3. Praca z danymi JDBC spoza ASCII w Talend

  4. Dedykowana procedura składowana umożliwiająca uzyskanie najnowszego stanu kopii zapasowych bazy danych

  5. Jak utworzyć replikację migawek