Kami sedang mengembangkan driver ODBC Apache Spark, yang memungkinkan Anda bekerja dengan data Spark dalam aplikasi seperti Perl, PHP, Excel, dan Oracle).
Mengonfigurasi Sumber Data ODBC
Sebelum Driver ODBC Apache Spark dapat digunakan untuk menghubungkan aplikasi ke Apache Spark, sumber data ODBC perlu dikonfigurasi. Sumber data ODBC menyimpan detail koneksi untuk database target (mis. Apache Spark) dan driver ODBC yang diperlukan untuk menyambungkannya (mis. driver ODBC Apache Spark).
Untuk menggunakan driver ODBC Apache Spark, Anda perlu membuat akun pengembang Apache Spark. Masuk ke dasbor pengembang Apache Spark, dan buat aplikasi REST API. Anda memerlukan ID klien dan rahasia Aplikasi untuk membuat sumber data untuk driver ODBC Apache Spark.
Sumber data ODBC dikonfigurasi di ODBC Administrator, yang disertakan dengan Windows.
Di Administrator ODBC:
- Pilih tab DSN Sistem, lalu pilih Tambah.
- Dalam kotak dialog Buat Sumber Data Baru, pilih Easysoft ODBC-Apache Spark Driver, lalu pilih Selesai.
- Lengkapi bidang dalam kotak dialog Easysoft ODBC-Apache Spark Driver DSN Setup.
- Dalam aplikasi Anda, sambungkan ke sumber data yang baru dikonfigurasi dan jalankan kueri sampel. Misalnya:
select * from MyTable
Bekerja dengan data Apache Spark di Perl
Strawberry Perl adalah distribusi Perl untuk Windows yang menyertakan lapisan middleware yang diperlukan (Perl DBI dan Perl DBD::ODBC) untuk mengaktifkan driver Apache Spark ODBC untuk menghubungkan aplikasi Perl Anda ke Apache Spark.
- Berikut adalah skrip Perl yang mengambil beberapa 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);
Bekerja dengan data Apache Spark di PHP
- Berikut adalah skrip PHP yang mengambil beberapa 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); } ?>
Menghubungkan Excel ke Apache Spark
Ikuti langkah-langkah ini untuk mengembalikan data dari Apache Spark ke Microsoft Excel dengan menggunakan Microsoft Query:
- Pada Data tab, pilih Kueri Baru> Dari Sumber Lain> Dari ODBC .
- Pilih sumber data ODBC Apache Spark saat diminta.
- Pilih tabel dari kumpulan data yang tersedia.
- Pilih Muat untuk mengembalikan data Apache Spark ke lembar kerja.
Perhatikan bahwa untuk kumpulan hasil yang besar, Anda mungkin harus memfilter data menggunakan Excel sebelum data dapat dikembalikan ke lembar kerja.
Hubungkan ke Apache Spark dari Oracle
- Buat file init DG4ODBC di mesin Oracle Anda. Untuk melakukannya, ubah ke
%ORACLE_HOME%\hs\admin
direktori. Buat salinan fileinitdg4odbc.ora
. Beri nama file baruinitspark.ora
.Catatan Dalam instruksi ini, ganti %ORACLE_HOME% dengan lokasi direktori Oracle HOME Anda. Misalnya,
C:\oraclexe\app\oracle\product\11.2.0\server
. - Pastikan parameter dan nilai ini ada di file init Anda:
HS_FDS_CONNECT_INFO = MyApacheSparkDataSource
- Komentar baris yang memungkinkan penelusuran DG4ODBC. Misalnya:
#HS_FDS_TRACE_LEVEL = <trace_level>
- Tambahkan entri ke
%ORACLE_HOME%\network\admin\listener.ora
yang membuat SID_NAME untuk DG4ODBC. Misalnya:SID_LIST_LISTENER = (SID_LIST = (SID_DESC= (SID_NAME=spark) (ORACLE_HOME=%ORACLE_HOME%) (PROGRAM=dg4odbc) ) )
- Tambahkan entri DG4ODBC ke
%ORACLE_HOME%\network\admin\tnsnames.ora
yang menentukan SID_NAME yang dibuat pada langkah sebelumnya. Misalnya:SPARK = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = oracle_host)(PORT = 1521)) (CONNECT_DATA = (SID = spark) ) (HS = OK) )
Ganti Oracle_host dengan nama host mesin Oracle Anda.
- Mulai (atau mulai ulang) Oracle Listener:
cd %ORACLE_HOME%\bin lsnrctl stop lsnrctl start
- Hubungkan ke database Oracle Anda di SQL*Plus.
- Dalam SQL*Plus, buat link database untuk instance Apache Spark target. Contoh:
CREATE PUBLIC DATABASE LINK SPARKLINK CONNECT TO "mydummyuser" IDENTIFIED BY "mydummypassword" USING 'spark';
- Coba kueri data Apache Spark Anda. Misalnya:
SELECT * FROM "MyTable"@SPARKLINK;
Catatan
- Jika Anda mengalami masalah saat menyambung ke Apache Spark dari Oracle, aktifkan pelacakan DG4ODBC dan periksa file jejak yang ditulis ke
%ORACLE_HOME%\hs\trace
direktori. Untuk mengaktifkan pelacakan DG4ODBC, tambahkan barisHS_FDS_TRACE_LEVEL = DEBUG
keinitspark.ora
dan kemudian mulai/restart pendengar Oracle. Jikatrace
direktori tidak ada, buatlah. - Jika Anda mengaktifkan pelacakan ODBC Driver Manager, tetapi tidak mendapatkan file jejak atau mendapatkan file jejak kosong (periksa C:\SQL.log), ubah lokasi file pelacakan ke direktori Windows TEMP. Misalnya,
C:\Windows\Temp\SQL.log
.