Powershell からの Spark データ連携タスクを自動化

製品をチェック

無償トライアル:

ダウンロードへ

製品の詳細情報へ:

Apache Spark ADO.NET Provider

Apache Spark 連携のパワフルな.NET アプリケーションを素早く作成して配布。

データ連携でお困りですか?

お問い合わせ

PowerShell から Spark に簡単に接続する方法をお探しですか? CData ADO.NET Provider for Spark は、PowerShell スクリプトの優位性を使い、シンプルで簡単に使えるADO.NET インターフェース を提供します。PowerShell スクリプトで、ADO.NET オブジェクトを使って簡単にSpark に接続して、同期、自動化、ダウンロードなどが可能!





CData ADO.NET Provider for Spark は、ADO.NET 標準インターフェースへ統合し、PowerShell のような. NET アプリケーションからSpark API へのデータ連携を可能にします。このプロバイダーは、Spark の認証および相互作用を簡単にします。このチュートリアルでは、PowerShell から直接SQL クエリを実行するための、いくつかの一般的なADO.NET オブジェクトの使い方を説明します。

クエリの実行

次の3つのステップに従って create、read、update、およびdelete (CRUD) のデータ連携コマンドを PowerShell からリアルタイムSpark に実行:

  1. プロバイダーのアセンブリをロード:

    [Reflection.Assembly]::LoadFile("C:\Program Files\CData\CData ADO.NET Provider for Spark\lib\System.Data.CData.SparkSQL.dll")
  2. Spark に接続:

    SparkSQL への接続

    SparkSQL への接続を確立するには以下を指定します。

    • Server:SparkSQL をホストするサーバーのホスト名またはIP アドレスに設定。
    • Port:SparkSQL インスタンスへの接続用のポートに設定。
    • TransportMode:SparkSQL サーバーとの通信に使用するトランスポートモード。有効な入力値は、BINARY およびHTTP です。デフォルトではBINARY が選択されます。
    • AuthScheme:使用される認証スキーム。有効な入力値はPLAIN、LDAP、NOSASL、およびKERBEROS です。デフォルトではPLAIN が選択されます。

    Databricks への接続

    Databricks クラスターに接続するには、以下の説明に従ってプロパティを設定します。Note:必要な値は、「クラスター」に移動して目的のクラスターを選択し、 「Advanced Options」の下にある「JDBC/ODBC」タブを選択することで、Databricks インスタンスで見つけることができます。

    • Server:Databricks クラスターのサーバーのホスト名に設定。
    • Port:443
    • TransportMode:HTTP
    • HTTPPath:Databricks クラスターのHTTP パスに設定。
    • UseSSL:True
    • AuthScheme:PLAIN
    • User:'token' に設定。
    • Password:個人用アクセストークンに設定(値は、Databricks インスタンスの「ユーザー設定」ページに移動して「アクセストークン」タブを選択することで取得できます)。

    $constr = "Server=127.0.0.1;" $conn= New-Object System.Data.CData.SparkSQL.SparkSQLConnection($constr) $conn.Open()
  3. SparkSQLDataAdapter のインスタンスを生成してSQL クエリを実行し、結果を出力:

    $sql="SELECT City, Balance from Customers" $da= New-Object System.Data.CData.SparkSQL.SparkSQLDataAdapter($sql, $conn) $dt= New-Object System.Data.DataTable $da.Fill($dt) $dt.Rows | foreach { Write-Host $_.city $_.balance }

Spark データの更新

$cmd = New-Object System.Data.CData.SparkSQLCommand("UPDATE Customers SET Country='US' WHERE Id = @myId", $conn) $cmd.Parameters.Add(new System.Data.CData.SparkSQLParameter("myId","10456255-0015501366")) $cmd.ExecuteNonQuery()

Spark へのデータの挿入

$cmd = New-Object System.Data.CData.SparkSQLCommand("UPDATE Customers SET Country='US' WHERE Id = @myId", $conn) $cmd.Parameters.Add(new System.Data.CData.SparkSQLParameter("myId","10456255-0015501366")) $cmd.ExecuteNonQuery()

Spark データの削除

$cmd = New-Object System.Data.CData.SparkSQLCommand("UPDATE Customers SET Country='US' WHERE Id = @myId", $conn) $cmd.Parameters.Add(new System.Data.CData.SparkSQLParameter("myId","10456255-0015501366")) $cmd.ExecuteNonQuery()