V současné době vyvíjíme ovladač Apache Spark ODBC, který vám umožní pracovat s daty Spark v aplikacích jako Perl, PHP, Excel a Oracle).
Konfigurace zdroje dat ODBC
Než bude možné použít ovladač Apache Spark ODBC Driver k připojení aplikace k Apache Spark, je nutné nakonfigurovat zdroj dat ODBC. Zdroj dat ODBC ukládá podrobnosti o připojení pro cílovou databázi (např. Apache Spark) a ovladač ODBC, který je vyžadován pro připojení k ní (např. ovladač Apache Spark ODBC).
Chcete-li používat ovladač Apache Spark ODBC, musíte si vytvořit účet vývojáře Apache Spark. Přihlaste se do vývojářského panelu Apache Spark a vytvořte aplikaci REST API. K vytvoření zdroje dat pro ovladač Apache Spark ODBC budete potřebovat ID klienta a tajný klíč aplikace.
Zdroje dat ODBC se konfigurují ve správci ODBC, který je součástí systému Windows.
Ve správci ODBC:
- Vyberte kartu Systémové DSN a poté zvolte Přidat.
- V dialogovém okně Vytvořit nový zdroj dat zvolte Easysoft ODBC-Apache Spark Driver a poté zvolte Dokončit.
- Vyplňte pole v dialogovém okně Nastavení DSN ovladače Easysoft ODBC-Apache Spark Driver.
- Ve své aplikaci se připojte k nově nakonfigurovanému zdroji dat a spusťte ukázkový dotaz. Například:
select * from MyTable
Práce s daty Apache Spark v Perlu
Strawberry Perl je distribuce Perlu pro Windows, která obsahuje nezbytné middlewarové vrstvy (Perl DBI a Perl DBD::ODBC), aby umožnil ovladač Apache Spark ODBC připojit vaše aplikace v Perlu k Apache Spark.
- Zde je skript Perl, který načítá některá data 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);
Práce s daty Apache Spark v PHP
- Zde je PHP skript, který načítá některá data 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); } ?>
Připojení Excelu k Apache Spark
Chcete-li vrátit data z Apache Spark do aplikace Microsoft Excel pomocí aplikace Microsoft Query, postupujte takto:
- Na stránce Data vyberte Nový dotaz> Z jiného zdroje> Z ODBC .
- Po zobrazení výzvy vyberte zdroj dat Apache Spark ODBC.
- Vyberte tabulku z dostupných souborů dat.
- Vyberte Načíst pro vrácení dat Apache Spark do pracovního listu.
Všimněte si, že u velkých sad výsledků budete možná muset filtrovat data pomocí Excelu, než budou data vrácena do listu.
Připojte se k Apache Spark od společnosti Oracle
- Vytvořte na svém počítači Oracle iniciační soubor DG4ODBC. Chcete-li to provést, přejděte na
%ORACLE_HOME%\hs\admin
adresář. Vytvořte kopii souboruinitdg4odbc.ora
. Nový soubor pojmenujteinitspark.ora
.Poznámka V těchto pokynech nahraďte %ORACLE_HOME% umístěním vašeho adresáře Oracle HOME. Například
C:\oraclexe\app\oracle\product\11.2.0\server
. - Ujistěte se, že ve vašem init souboru jsou tyto parametry a hodnoty:
HS_FDS_CONNECT_INFO = MyApacheSparkDataSource
- Okomentujte řádek, který umožňuje trasování DG4ODBC. Například:
#HS_FDS_TRACE_LEVEL = <trace_level>
- Přidat záznam do
%ORACLE_HOME%\network\admin\listener.ora
který vytvoří SID_NAME pro DG4ODBC. Například:SID_LIST_LISTENER = (SID_LIST = (SID_DESC= (SID_NAME=spark) (ORACLE_HOME=%ORACLE_HOME%) (PROGRAM=dg4odbc) ) )
- Přidejte záznam DG4ODBC do
%ORACLE_HOME%\network\admin\tnsnames.ora
který určuje SID_NAME vytvořený v předchozím kroku. Například:SPARK = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = oracle_host)(PORT = 1521)) (CONNECT_DATA = (SID = spark) ) (HS = OK) )
Nahraďte oracle_host s názvem hostitele vašeho počítače Oracle.
- Spusťte (nebo restartujte) Oracle Listener:
cd %ORACLE_HOME%\bin lsnrctl stop lsnrctl start
- Připojte se ke své databázi Oracle v SQL*Plus.
- V SQL*Plus vytvořte odkaz na databázi pro cílovou instanci Apache Spark. Například:
CREATE PUBLIC DATABASE LINK SPARKLINK CONNECT TO "mydummyuser" IDENTIFIED BY "mydummypassword" USING 'spark';
- Zkuste se dotázat na svá data Apache Spark. Například:
SELECT * FROM "MyTable"@SPARKLINK;
Poznámky
- Pokud máte problémy s připojením k Apache Spark od Oracle, povolte trasování DG4ODBC a zkontrolujte trasovací soubory zapsané do
%ORACLE_HOME%\hs\trace
adresář. Chcete-li povolit trasování DG4ODBC, přidejte řádekHS_FDS_TRACE_LEVEL = DEBUG
nainitspark.ora
a poté spusťte/restartujte Oracle listener. Pokudtrace
adresář neexistuje, vytvořte jej. - Pokud povolíte trasování ODBC Driver Manager, ale nezískáte trasovací soubor nebo prázdný trasovací soubor (zkontrolujte C:\SQL.log), změňte umístění trasovacího souboru na adresář Windows TEMP. Například
C:\Windows\Temp\SQL.log
.