DataFrames APIとPySparkの併用
DataStax EnterpriseとPySparkの統合は、PySparkと連携したDataFrames APIによって効率的に機能します。DSE PySpark Scalaラッパーは除去されています。
PySparkとのSparkとDataStax Enterpriseの統合は、DataFrames APIによってさらに効率的に機能するようになりました。
注: Spark Cassandra Connector Scala機能用のDataStax Enterpriseラッパーは除去されています。
PySparkとDSE PySparkは、Spark内のデータを操作する目的で、DataFrames APIをさらに効率的に使用することによってサポートされています。Spark Cassandra Connectorは統合されたDataSourceを提供することで、Cassandra DataFramesの作成を簡素化します。技術的な詳細については、DataStaxが管理しているSpark Cassandra ConnectorのドキュメントおよびCassandraとPySpark DataFramesの投稿を参照してください。
PySparkの前提条件
PySparkを起動するための前提条件は以下のとおりです。
- Python 2.6以降
- DataStax EnterpriseノードをSparkモードで起動します。
DataFrames APIの使用例
以下の例は、DataFrames APIを使用してCassandraテーブルks.kv
から読み取り、別のCassandraテーブルks.othertable
に挿入する方法を示しています。
table1 = sqlContext.read.format("org.apache.spark.sql.cassandra").options(table="kv", keyspace="ks").load()
table1.write.format("org.apache.spark.sql.cassandra").options(table="othertable", keyspace = "ks").save(mode ="append")
dse spark-submitとDataFramesを使用したPythonスクリプトの実行
Pythonスクリプトは、spark-submit
コマンドを使用して実行します。たとえば、次のファイルを作成して、standalone.pyという名前で保存します。
#standalone.py
from pyspark import SparkContext, SparkConf
from pyspark.sql import SQLContext
conf = SparkConf().setAppName("Stand Alone Python Script")
sc = SparkContext(conf=conf)
sqlContext = SQLContext(sc)
sqlContext.read.format("org.apache.spark.sql.cassandra").options(table="kv", keyspace="ks").load().show()
DataStax Enterpriseによってcassandra.connection.host
環境変数が設定されるため、Pythonファイルで変数を設定する必要はありません。たとえば、Linuxでは、インストール・ディレクトリーからstandalone.pyを以下のように実行します。
$ bin/dse spark-submit /path/standalone.py