Database
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Database

Trình điều khiển Apache Spark ODBC

Chúng tôi hiện đang phát triển trình điều khiển Apache Spark ODBC, cho phép bạn làm việc với dữ liệu Spark trong các ứng dụng như Perl, PHP, Excel và Oracle).

Định cấu hình Nguồn dữ liệu ODBC

Trước khi có thể sử dụng Apache Spark ODBC Driver để kết nối một ứng dụng với Apache Spark, bạn cần phải định cấu hình nguồn dữ liệu ODBC. Nguồn dữ liệu ODBC lưu trữ chi tiết kết nối cho cơ sở dữ liệu đích (ví dụ:Apache Spark) và trình điều khiển ODBC được yêu cầu để kết nối với nó (ví dụ:trình điều khiển Apache Spark ODBC).

Để sử dụng trình điều khiển Apache Spark ODBC, bạn cần tạo tài khoản nhà phát triển Apache Spark. Đăng nhập vào trang tổng quan dành cho nhà phát triển Apache Spark và tạo ứng dụng REST API. Bạn sẽ cần ID ứng dụng khách và bí mật để tạo nguồn dữ liệu cho trình điều khiển Apache Spark ODBC.

Nguồn dữ liệu ODBC được định cấu hình trong Quản trị viên ODBC, được bao gồm trong Windows.

Trong Quản trị viên ODBC:

  1. Chọn tab Hệ thống DSN, sau đó chọn Thêm.
  2. Trong hộp thoại Tạo Nguồn Dữ liệu Mới, chọn Trình điều khiển Spark Easysoft ODBC-Apache, rồi chọn Kết thúc.
  3. Hoàn thành các trường trong hộp thoại Thiết lập Easysoft ODBC-Apache Spark Driver DSN.
  4. Trong ứng dụng của bạn, hãy kết nối với nguồn dữ liệu mới được định cấu hình và chạy một truy vấn mẫu. Ví dụ:
    select * from MyTable

Làm việc với dữ liệu Apache Spark trong Perl

Strawberry Perl là bản phân phối Perl dành cho Windows bao gồm các lớp phần mềm trung gian cần thiết (Perl DBI và Perl DBD ::ODBC) để cho phép trình điều khiển Apache Spark ODBC kết nối các ứng dụng Perl của bạn với Apache Spark.

  1. Đây là tập lệnh Perl truy xuất một số dữ liệu 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);

Làm việc với dữ liệu Apache Spark trong PHP

  1. Đây là một tập lệnh PHP lấy một số dữ liệu 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);
      }
    ?>

Kết nối Excel với Apache Spark

Làm theo các bước sau để trả lại dữ liệu từ Apache Spark sang Microsoft Excel bằng cách sử dụng Microsoft Query:

  1. Trên Dữ liệu , chọn Truy vấn Mới> Từ Nguồn Khác> Từ ODBC .
  2. Chọn nguồn dữ liệu Apache Spark ODBC khi được nhắc.
  3. Chọn một bảng từ các tập dữ liệu có sẵn.
  4. Chọn Tải để trả về dữ liệu Apache Spark vào trang tính.

    Lưu ý rằng đối với các tập kết quả lớn, bạn có thể phải lọc dữ liệu bằng Excel trước khi dữ liệu có thể được trả về trang tính.

Kết nối với Apache Spark từ Oracle

  1. Tạo tệp init DG4ODBC trên máy Oracle của bạn. Để thực hiện việc này, hãy thay đổi thành %ORACLE_HOME%\hs\admin danh mục. Tạo bản sao của tệp initdg4odbc.ora . Đặt tên cho tệp mới initspark.ora .

    Lưu ý Trong các hướng dẫn này, thay thế% ORACLE_HOME% bằng vị trí của thư mục Oracle HOME của bạn. Ví dụ:C:\oraclexe\app\oracle\product\11.2.0\server .

  2. Đảm bảo các thông số và giá trị này có trong tệp init của bạn:
    HS_FDS_CONNECT_INFO = MyApacheSparkDataSource
  3. Nhận xét dòng cho phép theo dõi DG4ODBC. Ví dụ:
    #HS_FDS_TRACE_LEVEL = <trace_level>
    
  4. Thêm mục nhập vào %ORACLE_HOME%\network\admin\listener.ora tạo SID_NAME cho DG4ODBC. Ví dụ:
    SID_LIST_LISTENER =
     (SID_LIST =
       (SID_DESC=
         (SID_NAME=spark)
         (ORACLE_HOME=%ORACLE_HOME%)
         (PROGRAM=dg4odbc)
       )
     )
    
  5. Thêm mục nhập DG4ODBC vào %ORACLE_HOME%\network\admin\tnsnames.ora chỉ định SID_NAME đã tạo ở bước trước. Ví dụ:
    SPARK =
      (DESCRIPTION =
        (ADDRESS = (PROTOCOL = TCP)(HOST = oracle_host)(PORT = 1521))
        (CONNECT_DATA =
          (SID = spark)
        )
        (HS = OK)
      )
    

    Thay thế oracle_host với tên máy chủ của máy Oracle của bạn.

  6. Khởi động (hoặc khởi động lại) Oracle Listener:
    cd %ORACLE_HOME%\bin
    lsnrctl stop
    lsnrctl start
    
  7. Kết nối với cơ sở dữ liệu Oracle của bạn trong SQL * Plus.
  8. Trong SQL * Plus, tạo liên kết cơ sở dữ liệu cho phiên bản Apache Spark đích. Ví dụ:
    CREATE PUBLIC DATABASE LINK SPARKLINK CONNECT TO "mydummyuser" IDENTIFIED BY "mydummypassword" USING 'spark';
    
  9. Thử truy vấn dữ liệu Apache Spark của bạn. Ví dụ:
    SELECT * FROM "MyTable"@SPARKLINK;
    
Ghi chú
  • Nếu bạn gặp sự cố khi kết nối với Apache Spark từ Oracle, hãy bật theo dõi DG4ODBC và kiểm tra các tệp theo dõi được ghi vào %ORACLE_HOME%\hs\trace danh mục. Để bật theo dõi DG4ODBC, hãy thêm dòng HS_FDS_TRACE_LEVEL = DEBUG tới initspark.ora và sau đó khởi động / khởi động lại trình nghe Oracle. Nếu trace thư mục không tồn tại, hãy tạo nó.
  • Nếu bạn bật theo dõi Trình quản lý Trình điều khiển ODBC, nhưng không nhận được tệp theo dõi hoặc nhận được tệp theo dõi trống (kiểm tra C:\ SQL.log), hãy thay đổi vị trí tệp theo dõi thành thư mục TEMP của Windows. Ví dụ:C:\Windows\Temp\SQL.log .

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tính năng mới cho BYOC - Tạm dừng và tiếp tục cụm

  2. Bảng tính so với Cơ sở dữ liệu:Đã đến lúc phải chuyển đổi? Phần 2

  3. Dỡ bỏ cơ sở dữ liệu rất lớn

  4. Kết nối PolyBase với Salesforce.com

  5. Làm thế nào để thực hiện câu lệnh IF trong SQL?