Java + Spark + SparkSessionを介してCassandraテーブルに行を挿入/更新するための最良の方法は何ですか

アレクセイ・キセレフ

これは、経由カサンドラテーブルからデータを取得する方法の方法であるJavaの+スパーク+ SparkSession

SparkSession spark = SparkSession
          .builder()
          .appName("JavaDemoDataSet")
          .config("spark.sql.warehouse.dir", "/file:C:/temp")
          .config("spark.cassandra.connection.host", "127.0.0.1")
          .config("spark.cassandra.connection.port", "9042")
          .master("local[2]")
          .getOrCreate();

 Dataset<Row> dataset = spark.read()
        .format("org.apache.spark.sql.cassandra")
        .options(new HashMap<String, String>() {
            {
                put("keyspace", "chat");
                put("table", "dictionary");
            }
        })
        .load()
        .filter("value_id BETWEEN 1 AND 5");

しかし、このテーブルの行(少なくとも1行)を追加または変更する方法を調査しているとき、それを行うための最良の方法を見つけることができませんでした。たとえば、GUIを使用して単純なアプリケーションを開発していて、「辞書」テーブルに新しい値を追加する必要があります。したがって、この場合、私の観点からは、これを行うためにDataSetは必要ありません。

私はSparkSessionを経由して1つの行を追加する方法を研究していた場合-私はそれを行う方法のJava +スパーク+ Sparksessionの例を見つけることができませんでした。私は間違いなく経由CQL文でそれを行うことができステートメントが、それを行うための一つの方法は、更新に最善をであるか、1つのまたは2行を追加しますか?特に私がSparkSessionを使ってそれらを読んでいるとき。

私は例(またはハイパーリンクでさえ、私はたくさん研究しましたが、重要な何かを見逃したかもしれません)を本当に感謝します、可能であれば、私はそれらすべてにかなり新しいので。

ありがとうございました!

RussS

私は強く、単一の行の更新を行うためにスパークを使用しないことをお勧めします。組み込みのコネクタメソッドは、大量のデータを対象としているため、単一行の変更ではおそらく非常に非効率的です。ドライバを直接使用するか、CassandraConnectorインターフェイスを使用する方がはるかに優れています。

https://github.com/datastax/spark-cassandra-connector/blob/master/doc/1_connecting.md#connecting-manually-to-cassandra

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

Related 関連記事

ホットタグ

アーカイブ