Database
 sql >> Database >  >> RDS >> Database

Driver ODBC Apache Spark

Attualmente stiamo sviluppando un driver ODBC Apache Spark, che ti consente di lavorare con i dati Spark in applicazioni come Perl, PHP, Excel e Oracle).

Configurazione di un'origine dati ODBC

Prima che il driver ODBC di Apache Spark possa essere utilizzato per connettere un'applicazione ad Apache Spark, è necessario configurare un'origine dati ODBC. Un'origine dati ODBC archivia i dettagli di connessione per il database di destinazione (ad es. Apache Spark) e il driver ODBC necessario per connettersi ad esso (ad es. il driver ODBC di Apache Spark).

Per utilizzare il driver ODBC Apache Spark, è necessario creare un account sviluppatore Apache Spark. Accedi al dashboard per sviluppatori Apache Spark e crea un'app API REST. Avrai bisogno dell'ID client e del segreto dell'app per creare un'origine dati per il driver ODBC di Apache Spark.

Le origini dati ODBC sono configurate in Amministratore ODBC, incluso in Windows.

Nell'amministratore ODBC:

  1. Scegli la scheda DSN di sistema, quindi scegli Aggiungi.
  2. Nella finestra di dialogo Crea nuova origine dati, scegli Easysoft ODBC-Apache Spark Driver, quindi scegli Fine.
  3. Compila i campi nella finestra di dialogo Easysoft ODBC-Apache Spark Driver DSN Setup.
  4. Nell'applicazione, connettiti all'origine dati appena configurata ed esegui una query di esempio. Ad esempio:
    select * from MyTable

Utilizza i dati di Apache Spark in Perl

Strawberry Perl è una distribuzione Perl per Windows che include i livelli di middleware necessari (Perl DBI e Perl DBD::ODBC) per consentire al driver ODBC di Apache Spark di connettere le tue applicazioni Perl ad Apache Spark.

  1. Ecco uno script Perl che recupera alcuni dati di 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);

Utilizza i dati di Apache Spark in PHP

  1. Ecco uno script PHP che recupera alcuni dati di 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);
      }
    ?>

Collegamento di Excel ad Apache Spark

Segui questi passaggi per restituire i dati da Apache Spark a Microsoft Excel utilizzando Microsoft Query:

  1. Sui Dati scheda, scegli Nuova query> Da altra fonte> Da ODBC .
  2. Scegli l'origine dati ODBC di Apache Spark quando richiesto.
  3. Scegli una tabella dai set di dati disponibili.
  4. Scegli il Carica per restituire i dati di Apache Spark al foglio di lavoro.

    Tieni presente che per set di risultati di grandi dimensioni, potrebbe essere necessario filtrare i dati utilizzando Excel prima che i dati possano essere restituiti al foglio di lavoro.

Connettiti ad Apache Spark da Oracle

  1. Crea un file init DG4ODBC sulla tua macchina Oracle. Per fare ciò, cambia in %ORACLE_HOME%\hs\admin directory. Crea una copia del file initdg4odbc.ora . Assegna un nome al nuovo file initspark.ora .

    Nota In queste istruzioni, sostituisci %ORACLE_HOME% con il percorso della tua directory Oracle HOME. Ad esempio, C:\oraclexe\app\oracle\product\11.2.0\server .

  2. Assicurati che questi parametri e valori siano presenti nel tuo file init:
    HS_FDS_CONNECT_INFO = MyApacheSparkDataSource
  3. Commenta la riga che abilita il tracciamento DG4ODBC. Ad esempio:
    #HS_FDS_TRACE_LEVEL = <trace_level>
    
  4. Aggiungi una voce a %ORACLE_HOME%\network\admin\listener.ora che crea un SID_NAME per DG4ODBC. Ad esempio:
    SID_LIST_LISTENER =
     (SID_LIST =
       (SID_DESC=
         (SID_NAME=spark)
         (ORACLE_HOME=%ORACLE_HOME%)
         (PROGRAM=dg4odbc)
       )
     )
    
  5. Aggiungi una voce DG4ODBC a %ORACLE_HOME%\network\admin\tnsnames.ora che specifica il SID_NAME creato nel passaggio precedente. Ad esempio:
    SPARK =
      (DESCRIPTION =
        (ADDRESS = (PROTOCOL = TCP)(HOST = oracle_host)(PORT = 1521))
        (CONNECT_DATA =
          (SID = spark)
        )
        (HS = OK)
      )
    

    Sostituisci oracle_host con il nome host della tua macchina Oracle.

  6. Avvia (o riavvia) Oracle Listener:
    cd %ORACLE_HOME%\bin
    lsnrctl stop
    lsnrctl start
    
  7. Connettiti al tuo database Oracle in SQL*Plus.
  8. In SQL*Plus, crea un collegamento al database per l'istanza Apache Spark di destinazione. Ad esempio:
    CREATE PUBLIC DATABASE LINK SPARKLINK CONNECT TO "mydummyuser" IDENTIFIED BY "mydummypassword" USING 'spark';
    
  9. Prova a interrogare i dati di Apache Spark. Ad esempio:
    SELECT * FROM "MyTable"@SPARKLINK;
    
Note
  • Se hai problemi di connessione ad Apache Spark da Oracle, abilita la traccia DG4ODBC e controlla i file di traccia scritti in %ORACLE_HOME%\hs\trace directory. Per abilitare il tracciamento DG4ODBC, aggiungi la riga HS_FDS_TRACE_LEVEL = DEBUG a initspark.ora e quindi avviare/riavviare il listener Oracle. Se il trace la directory non esiste, creala.
  • Se si abilita la traccia di ODBC Driver Manager, ma non si ottiene un file di traccia o un file di traccia vuoto (cercare C:\SQL.log), modificare il percorso del file di traccia nella directory TEMP di Windows. Ad esempio, C:\Windows\Temp\SQL.log .