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:
- Wybierz kartę Systemowe DSN, a następnie wybierz Dodaj.
- W oknie dialogowym Utwórz nowe źródło danych wybierz Easysoft ODBC-Apache Spark Driver, a następnie wybierz Zakończ.
- Wypełnij pola w oknie dialogowym Konfiguracja DSN Easysoft ODBC-Apache Spark Driver.
- 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.
- 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
- 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:
- Na Danych wybierz opcję Nowe zapytanie> Z innego źródła> Z ODBC .
- Po wyświetleniu monitu wybierz źródło danych Apache Spark ODBC.
- Wybierz tabelę z dostępnych zestawów danych.
- 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
- Utwórz plik init DG4ODBC na swoim komputerze Oracle. Aby to zrobić, przejdź do
%ORACLE_HOME%\hs\admin
informator. Utwórz kopię plikuinitdg4odbc.ora
. Nazwij nowy plikinitspark.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
. - Upewnij się, że te parametry i wartości są obecne w Twoim pliku początkowym:
HS_FDS_CONNECT_INFO = MyApacheSparkDataSource
- Skomentuj wiersz, który umożliwia śledzenie DG4ODBC. Na przykład:
#HS_FDS_TRACE_LEVEL = <trace_level>
- 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) ) )
- 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.
- Uruchom (lub uruchom ponownie) Oracle Listener:
cd %ORACLE_HOME%\bin lsnrctl stop lsnrctl start
- Połącz się z bazą danych Oracle w SQL*Plus.
- 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';
- 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 wierszHS_FDS_TRACE_LEVEL = DEBUG
doinitspark.ora
a następnie uruchom/zrestartuj odbiornik Oracle. Jeślitrace
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
.