Vi er i øjeblikket ved at udvikle en Apache Spark ODBC-driver, som lader dig arbejde med Spark-data i applikationer som Perl, PHP, Excel og Oracle).
Konfiguration af en ODBC-datakilde
Før Apache Spark ODBC-driveren kan bruges til at forbinde en applikation til Apache Spark, er det nødvendigt at konfigurere en ODBC-datakilde. En ODBC-datakilde gemmer forbindelsesdetaljerne for måldatabasen (f.eks. Apache Spark) og den ODBC-driver, der kræves for at oprette forbindelse til den (f.eks. Apache Spark ODBC-driveren).
For at bruge Apache Spark ODBC-driveren skal du oprette en Apache Spark-udviklerkonto. Log ind på Apache Spark-udviklerdashboardet, og opret en REST API-app. Du skal bruge Appens klient-id og hemmelighed for at oprette en datakilde til Apache Spark ODBC-driveren.
ODBC-datakilder er konfigureret i ODBC Administrator, som er inkluderet i Windows.
I ODBC Administrator:
- Vælg fanen System DSN, og vælg derefter Tilføj.
- Vælg Easysoft ODBC-Apache Spark Driver i dialogboksen Opret ny datakilde, og vælg derefter Udfør.
- Udfyld felterne i dialogboksen Easysoft ODBC-Apache Spark Driver DSN Setup.
- I din applikation skal du oprette forbindelse til din nyligt konfigurerede datakilde og køre en prøveforespørgsel. For eksempel:
select * from MyTable
Arbejd med Apache Spark-data i Perl
Strawberry Perl er en Perl-distribution til Windows, der inkluderer de nødvendige middleware-lag (Perl DBI og Perl DBD::ODBC) for at gøre det muligt for Apache Spark ODBC-driveren at forbinde dine Perl-applikationer til Apache Spark.
- Her er et Perl-script, der henter nogle Apache Spark-data:
#!/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);
Arbejd med Apache Spark-data i PHP
- Her er et PHP-script, der henter nogle Apache Spark-data:
<?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); } ?>
Tilslutning af Excel til Apache Spark
Følg disse trin for at returnere data fra Apache Spark til Microsoft Excel ved hjælp af Microsoft Query:
- På Data fanen, skal du vælge Ny forespørgsel> Fra anden kilde> Fra ODBC .
- Vælg Apache Spark ODBC-datakilden, når du bliver bedt om det.
- Vælg en tabel fra de tilgængelige datasæt.
- Vælg Load for at returnere Apache Spark-dataene til arbejdsarket.
Bemærk, at for store resultatsæt skal du muligvis filtrere dataene ved hjælp af Excel, før dataene kan returneres til regnearket.
Opret forbindelse til Apache Spark fra Oracle
- Opret en DG4ODBC init-fil på din Oracle-maskine. For at gøre dette skal du skifte til
%ORACLE_HOME%\hs\admin
vejviser. Opret en kopi af fileninitdg4odbc.ora
. Navngiv den nye filinitspark.ora
.Bemærk I denne vejledning skal du erstatte %ORACLE_HOME% med placeringen af dit Oracle HOME-bibliotek. For eksempel
C:\oraclexe\app\oracle\product\11.2.0\server
. - Sørg for, at disse parametre og værdier er til stede i din init-fil:
HS_FDS_CONNECT_INFO = MyApacheSparkDataSource
- Kommenter linjen, der aktiverer DG4ODBC-sporing. For eksempel:
#HS_FDS_TRACE_LEVEL = <trace_level>
- Tilføj en post til
%ORACLE_HOME%\network\admin\listener.ora
der opretter en SID_NAME for DG4ODBC. For eksempel:SID_LIST_LISTENER = (SID_LIST = (SID_DESC= (SID_NAME=spark) (ORACLE_HOME=%ORACLE_HOME%) (PROGRAM=dg4odbc) ) )
- Tilføj en DG4ODBC-post til
%ORACLE_HOME%\network\admin\tnsnames.ora
der specificerer SID_NAME oprettet i det forrige trin. For eksempel:SPARK = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = oracle_host)(PORT = 1521)) (CONNECT_DATA = (SID = spark) ) (HS = OK) )
Erstat oracle_host med værtsnavnet på din Oracle-maskine.
- Start (eller genstart) Oracle Listener:
cd %ORACLE_HOME%\bin lsnrctl stop lsnrctl start
- Opret forbindelse til din Oracle-database i SQL*Plus.
- I SQL*Plus skal du oprette et databaselink til målforekomsten af Apache Spark. For eksempel:
CREATE PUBLIC DATABASE LINK SPARKLINK CONNECT TO "mydummyuser" IDENTIFIED BY "mydummypassword" USING 'spark';
- Prøv at forespørge på dine Apache Spark-data. For eksempel:
SELECT * FROM "MyTable"@SPARKLINK;
Bemærkninger
- Hvis du har problemer med at oprette forbindelse til Apache Spark fra Oracle, skal du aktivere DG4ODBC-sporing og kontrollere sporingsfilerne skrevet til
%ORACLE_HOME%\hs\trace
vejviser. For at aktivere DG4ODBC-sporing skal du tilføje linjenHS_FDS_TRACE_LEVEL = DEBUG
tilinitspark.ora
og start/genstart derefter Oracle-lytteren. Hvistrace
bibliotek eksisterer ikke, opret det. - Hvis du aktiverer ODBC Driver Manager-sporing, men ikke får en sporingsfil eller får en tom sporingsfil (tjek efter C:\SQL.log), skal du ændre sporingsfilens placering til Windows TEMP-mappen. For eksempel
C:\Windows\Temp\SQL.log
.