製品情報をご覧ください

製品情報や無償評価版を製品ページにてご確認いただけます。

製品ページへ

Apache Spark でMagento データをSQL で操作

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

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

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

※製品について詳しい情報をご希望の方は以下からお進みください。

CData JDBC Driver for Magento をインストール

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

Spark Shell を起動してMagento データに接続

  1. ターミナルを開き、Spark shell でCData JDBC Driver for Magento JAR file をjars パラメータに設定します: $ spark-shell --jars /CData/CData JDBC Driver for Magento/lib/cdata.jdbc.magento.jar
  2. Shell でJDBC URL を使ってMagento に接続し、SQL Context load() function でテーブルを読み込みます。

    Magento はOAuth 1 認証標準を使用します。Magento REST API に接続するには、Magento システムにアプリを登録してOAuthClientId、OAuthClientSecret、およびCallbackURL 接続プロパティの値を取得する必要があります。 OAuth 値を取得して接続するには、ヘルプドキュメントの「はじめに」を参照してください。

    また、Magento システムへのURL を提供する必要があります。URL は、Magento REST API を顧客として使用しているか管理者として使用しているかによって異なります。

    • Customer: Magento を顧客として使用するには、事前にMagento のホームページで顧客アカウントを作成します。これを行うには、[アカウント]->[登録]をクリックします。それからURL 接続プロパティをMagento システムのエンドポイントに設定します。

    • Administrator: Magento を管理者として使用するには、代わりにCustomAdminPath を設定します。この値は、[Admin]メニューの[Advanced]設定で取得できます。[System]->[Configuration]->[Advanced]->[Admin]->[Admin Base URL]を選択することでアクセスできます。

      このページ上の[Use Custom Admin Path]設定がYES に設定されている場合、値は[Custom Admin Path]テキストボックス内にあります。それ以外の場合は、CustomAdminPath 接続プロパティをデフォルト値の"admin" に設定します。

    組み込みの接続文字列デザイナー

    JDBC 接続文字列URL の作成には、Magento JDBC Driver にビルトインされたデザイナを使用できます。JAR ファイルをダブルクリックするか、コマンドラインでJAR ファイルを実行するとデザイナが開きます。

    java -jar cdata.jdbc.magento.jar

    接続プロパティを入力し、接続文字列をクリップボードにコピーします。

    scala> val magento_df = spark.sqlContext.read.format("jdbc").option("url", "jdbc:magento:OAuthClientId=MyConsumerKey;OAuthClientSecret=MyConsumerSecret;CallbackURL=http://127.0.0.1:33333;Url=https://mymagentohost.com;").option("dbtable","Products").option("driver","cdata.jdbc.magento.MagentoDriver").load()
  3. 接続が完了し、データがロードされたら、テーブルスキーマが表示されます。
  4. Magento をテンポラリーテーブルとして登録します:

    scala> magento_df.registerTable("products")
  5. データに対して、次のようなカスタムSQL クエリを実行します:

    scala> magento_df.sqlContext.sql("SELECT Name, Price FROM Products WHERE Style = High Tech").collect.foreach(println)

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

CData JDBC Driver for Magento をApache Spark で使って、Magento に対して、複雑かつハイパフォーマンスなクエリを実行できます。是非、30日の無償試用版 をダウンロードしてお試しください。

 
 
ダウンロード