問題タブ [spark-cassandra-connector]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
cassandra - spark からの cassandra コレクションの更新
私はspark-cassandraにかなり慣れていません。
cassandra コレクションを更新する方法を理解するために、spark-casssandra コネクタのドキュメントを調べています。このリンク ( https://github.com/datastax/spark-cassandra-connector/blob/master/doc/5_ Saving.md ) には、コレクションを更新する次のコードがあります。
しかし、Eclipseで上記のコードを試すと、「lcol」の追加と「lcol」の前に追加する近くでエラーが発生します
エラー: value append は String のメンバーではなく、value prepend は String のメンバーではありません
ここで何か不足していますか?この問題を解決するにはどうすればよいですか?
cassandra - cassandraで同期ドロップを実行してキースペースを作成するにはどうすればよいですか?
キースペースのどのテーブルにもデータが必要ありません。そのため、キースペースが存在する場合は削除して、すぐに作成することにしました。私は同じことを達成するために以下のコードを使用しています。
) }
しかし、キースペースの作成に失敗しています。ログから、次のような警告しか表示されませんでした
また、python cassandra ドライバーを使用してみました。しかし、結果は同じです。いくつかの競合状態があり、キースペースのドロップが非同期に発生すると思います(間違っている場合は修正してください)。
キースペースを同期的にドロップして作成するにはどうすればよいですか?
apache-spark - sbt-assembly を使用して Spark+cassandra をビルドできない
SQL 分析のデモ用に、Spark+Cassandra を使用して簡単なプロジェクトを構築しようとしています。Cassandra v2.0.14 を使用する必要があります (今のところアップグレードできません)。Spark と Spark-cassandra-connector の正しいバージョンが見つかりません。https://github.com/datastax/spark-cassandra-connectorで Datastax の git プロジェクトを参照しました。、そして、Spark と Spark-cassandra-connector のバージョンが一致し、Cassandra と互換性がある必要があることはわかっています。したがって、Spark、Spark-Cassandra-connector の正確なバージョンを指摘するのを手伝ってほしいと思います。Spark と Spark-Cassandra-connector の両方に v1.1.0 と v1.2.1 を使用してみましたが、提供された sbt を使用せずに spark-cassandra-connector jat jar をビルドできませんでした (ダウンロードした sbt-launch jar に 404 が含まれているだけなので失敗します) html が見つからない)、または私のローカル sbt v0.13.8 (「import sbtassembly.Plugin. 」、「import AssemblyKeys.」のコンパイル エラーで失敗する)
scala - spark-cassandra コネクタを使用した Cassandra Insert のパフォーマンス
私はスパークとカサンドラの初心者です。以下のように、spark-cassandra コネクタを使用して cassandra テーブルに挿入しようとしています。
上記の方法(100個のエンティティを含むリスト)を使用して挿入すると、300-1100 milliseconds
. ファントムライブラリを使用して同じデータを挿入しようとしました。未満しかかかっていません20-40 milliseconds
。
スパークコネクタの挿入にこれほど時間がかかる理由を誰か教えてもらえますか? コードで何か間違ったことをしていますか、それとも挿入操作にspark-cassandra コネクタを使用することはお勧めできませんか?
scala - Spark SQL + Cassandra: パフォーマンスが悪い
Spark SQL + Cassandra を使い始めたばかりで、おそらく何か重要なものが欠けていますが、1 つの単純なクエリには約 45 秒かかります。私はcassanda-spark-connector
ライブラリを使用しており、Spark もホストするローカル Web サーバーを実行しています。したがって、私のセットアップはおおよそ次のようになります。
sbt で:
コードには、ホストするシングルトンがありSparkContext
、CassandraSQLContetx
. その後、サーブレットから呼び出されます。シングルトン コードは次のようになります。
そして、ここで私がそれをどのように使用するか:
Cassandra、Spark、および Web アプリは、まともな仕様の Macbook Pro の仮想マシンの同じホストで実行されます。Cassandra クエリ自体には 10 ~ 20 ミリ秒かかります。
このエンドポイントを初めて呼び出すと、結果が返されるまでに 70 ~ 80 秒かかります。後続のクエリには最大 45 秒かかります。その後の操作のログは次のようになります。
ログからわかるように、最長の一時停止は次の 3 行 (21 + 24 秒) の間です。
どうやら、私は何か間違ったことをしている。あれは何でしょう?どうすればこれを改善できますか?
編集:重要な追加: テーブルのサイズは小さい ( の場合は ~200 エントリ、 のtracking_events
場合は ~20 customers
) ため、それら全体をメモリに読み込むのにそれほど時間はかかりません。そして、これはローカルの Cassandra インストールであり、クラスターもネットワークも関係ありません。
cassandra - 個別の使用中に各 RDD のトップ エントリを取得する
時間の経過とともに変化するデータがいくつかあり、cassandra に保持しています。UserId はパーティション キーで、スタンプの日付は降順のクラスタリング キーとデータです。これを Spark からクエリして .distinct を実行すると、各 UserId の最上位のエントリが取得され、最新のデータが得られると期待していました。しかし、それはしていないようです。
データを削減し、比較ごとに最近の日付のデータを選択する関数を渡す以外に、最新の日付に対応するデータを取得する方法はありますか?
[編集]
したがって、私の要件によれば、ユーザー 1 の場合は建物 1 を場所として、ユーザー 2 の場合は建物 10 が必要です。
スパークバージョン 1.2.2
scala - 異なる結果をもたらす RDD を頼りにする
7,500 万行を超える RDD があり、count
関数を呼び出すと、毎回異なる番号が返されます。私の理解では、カウントは正確な数を与えるはずです。
編集
データの概要を説明すると、構造は次のようになります
パーティション キー:Userid
クラスタリング キー:Date
ORDER BY DESC
Spark バージョン: 1.2.2
データは Cassandra API からのものです。
使用される API は Scala
Spark Cassandra コネクタ バージョン 1.2.2
です。Userid
Location
scala - カサンドラ スパーク コネクタ joinWithCassandraTable のフィールドに異なる名前を付ける
RDD と cassandra テーブルで結合を作成しようとしていますが、同じキーに対して同じ名前ではありません (簡略化)。
と
やりたい場合:
結合が行われるフィールドの名前を正確に知るにはどうすればよいですか? そして、joinWithCassandraTable の後にすべての値を結合したいので、rdd を正しい ID だけにマップしたくありません。