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:
- Scegli la scheda DSN di sistema, quindi scegli Aggiungi.
- Nella finestra di dialogo Crea nuova origine dati, scegli Easysoft ODBC-Apache Spark Driver, quindi scegli Fine.
- Compila i campi nella finestra di dialogo Easysoft ODBC-Apache Spark Driver DSN Setup.
- 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.
- 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
- 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:
- Sui Dati scheda, scegli Nuova query> Da altra fonte> Da ODBC .
- Scegli l'origine dati ODBC di Apache Spark quando richiesto.
- Scegli una tabella dai set di dati disponibili.
- 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
- Crea un file init DG4ODBC sulla tua macchina Oracle. Per fare ciò, cambia in
%ORACLE_HOME%\hs\admin
directory. Crea una copia del fileinitdg4odbc.ora
. Assegna un nome al nuovo fileinitspark.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
. - Assicurati che questi parametri e valori siano presenti nel tuo file init:
HS_FDS_CONNECT_INFO = MyApacheSparkDataSource
- Commenta la riga che abilita il tracciamento DG4ODBC. Ad esempio:
#HS_FDS_TRACE_LEVEL = <trace_level>
- 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) ) )
- 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.
- Avvia (o riavvia) Oracle Listener:
cd %ORACLE_HOME%\bin lsnrctl stop lsnrctl start
- Connettiti al tuo database Oracle in SQL*Plus.
- 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';
- 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 rigaHS_FDS_TRACE_LEVEL = DEBUG
ainitspark.ora
e quindi avviare/riavviare il listener Oracle. Se iltrace
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
.