Ready to get started?

Learn more about the CData JDBC Driver for Amazon S3 or download a free trial:

Download Now

Apache Spark でAmazon S3 Data をSQL で操作

CData JDBC ドライバーを使用して、Apache Spark でAmazon S3 Data にデータ連携。

Apache Spark は大規模データ処理のための高速で一般的なエンジンです。CData JDBC Driver for Amazon S3 と組み合わせると、Spark はリアルタイムAmazon S3 data にデータ連携して処理ができます。ここでは、Spark シェルに接続してAmazon S3 data をクエリする方法について説明します。

CData JDBC Driver は、最適化されたデータ処理がドライバーに組み込まれているため、リアルタイムAmazon S3 data と対話するための高いパフォーマンスを提供します。Amazon S3 に複雑なSQL クエリを発行すると、ドライバーはフィルタや集計など、サポートされているSQL操作を直接Amazon S3 にプッシュし、組込みSQL エンジンを使用してサポートされていない操作(SQL 関数やJOIN 操作)をクライアント側で処理します。組み込みの動的メタデータクエリを使用すると、ネイティブデータ型を使用してAmazon S3 data を操作して分析できます。

CData JDBC Driver for Amazon S3 をインストール

CData JDBC Driver for Amazon S3 インストーラをダウンロードし、パッケージを解凍し、JAR ファイルを実行してドライバーをインストールします。

Spark Shell を起動してAmazon S3 Data に接続

  1. Open a terminal and start the Spark shell with the CData JDBC Driver for Amazon S3 JAR file as the jars parameter: $ spark-shell --jars /CData/CData JDBC Driver for Amazon S3/lib/cdata.jdbc.amazons3.jar
  2. With the shell running, you can connect to Amazon S3 with a JDBC URL and use the SQL Context load() function to read a table.

    To authorize Amazon S3 requests, provide the credentials for an administrator account or for an IAM user with custom permissions. Set AccessKey to the access key Id. Set SecretKey to the secret access key.

    Note: You can connect as the AWS account administrator, but it is recommended to use IAM user credentials to access AWS services.

    For information on obtaining the credentials and other authentication methods, refer to the Getting Started section of the Help documentation.


    For assistance in constructing the JDBC URL, use the connection string designer built into the Amazon S3 JDBC Driver.Either double-click the JAR file or execute the jar file from the command-line.

    java -jar cdata.jdbc.amazons3.jar

    Fill in the connection properties and copy the connection string to the clipboard.

    scala> val amazons3_df ="jdbc").option("url", "jdbc:amazons3:AccessKey=a123;SecretKey=s123;").option("dbtable","ObjectsACL").option("driver","cdata.jdbc.amazons3.AmazonS3Driver").load()
  3. Once you connect and the data is loaded you will see the table schema displayed.
  4. Register the Amazon S3 data as a temporary table:

    scala> amazons3_df.registerTable("objectsacl")
  5. Perform custom SQL queries against the Data using commands like the one below:

    scala> amazons3_df.sqlContext.sql("SELECT Name, OwnerId FROM ObjectsACL WHERE Name = TestBucket").collect.foreach(println)

    You will see the results displayed in the console, similar to the following:

Using the CData JDBC Driver for Amazon S3 in Apache Spark, you are able to perform fast and complex analytics on Amazon S3 data, combining the power and utility of Spark with your data.Download a free, 30 day trial of any of the 170+ CData JDBC Drivers and get started today.