私はApache Sparkを使ってスカラとAkkaでcassandraデータベースを使用することを検討しています。私は実際に私の既存のCassandraドライバを落としてSparkを独占的に使用できるかどうかの問題を解決しようとしています。それはパーティションキーなどでレコードを見つける手段を持っているのですか、それともテーブル全体をフィルタリングしてフィルタリングすることしかできません。私はあなたが単一のレコードにフィルターをかけることができますが、潜在的に大量のテーブルを反復することを意味します。私はspartに本質的にCQLを発行して句を指定し、句を選択した場合は1つの行だけ、または行のセットを取得できるようにします。これが不可能な場合は、通常のDB操作のために私の既存のドライバを使用して解析を開始する必要があります。Apache Sparkは、一般的な非アナリティクスOLTPタスクに適しています。
0
A
答えて
1
CassandraRDD.whereとスパークでの句()
は、行をフィルタするには、スパークが提供するフィルタ変換を使用することができますCQLを発行することが可能です。ただし、この方法では、すべての行がCassandraからフェッチされ、Sparkによってフィルタリングされます。また、CPUサイクルによっては、結果に含まれないオブジェクトのシリアライズとデシリアライズが無駄になります。このオーバーヘッドを回避するために、CassandraRDDはあなたがここに仕える
に設定された行はCassandraRDD.whereを(使用方法の簡単な例であるフィルタリングするために、任意のCQL条件(複数可)を渡すことができますどこ方法、)
を提供していますあなたがテーブル
CREATE TABLE test.data (
id int PRIMARY KEY,
data text
);
を持っている場合あなたが選択し、主キーでフィルタリングするために火花を使用することができます。
上sc.cassandraTable("test", "data ").select("id", "data").where("id = ?", 1).toArray.foreach(println)
より:https://github.com/datastax/spark-cassandra-connector/blob/master/doc/3_selection.md
しかし、カサンドラ・ドライバでは、あなたのクエリをより柔軟に制御を持っているともスパークはあなたにカサンドラのドライバーよりも多くのCPU時間とメモリの費用がかかります。 RussSとして
は
「これが正しいとwhere句を使用すると、単一のパーティション要求を実行することができますが、これは直接Javaドライバを通じて類似したクエリを実行するよりも桁違いに高価である」言います
関連する問題
- 1. イベントレット/一般的な非同期入出力タスク精度
- 2. Web APIは一般的なn層アーキテクチャに適していますか?
- 3. Spark Dataset [T]コンストラクタとしての一般的なT
- 4. 一般的な機能を置くのに適していますか?
- 5. dataGridView1は一般的なリストに接続していますか?
- 6. Linuxソケットファイルディスクリプタは、一般にハッシュに適していますか?
- 7. 一般的なDecalarationの最適化
- 8. いくつかの非常に一般的なコードは
- 9. Firebaseアナリティクスの行を削除して、あまり一般的でない値を使ってBigQueryにエクスポートする
- 10. Celeryタスクで一般的なlogging.Logger()を使用できますか?
- 11. は、これは非常に一般的な要件です
- 12. 一般的なスターターHadoop/Spark fiware-cosmosの質問
- 13. スレッド(タスク)WebAPIの制限(または一般的に)
- 14. apacheの一般的な設定は何ですか
- 15. 私は一般的なオフィス管理タスクを自動化したい
- 16. Apache Camelを使用した一般的なファイル転送ルート
- 17. 一般的にはマジットスタイルを使用しています
- 18. 一般的な部分式を最適化する方法は?
- 19. moodle - 一般的なロジックを置くのに最適な場所
- 20. 一般的なLuaランタイムはテーブル参照を最適化しますか?
- 21. sparkデータフレームのモード(最も一般的な要素)の集計
- 22. Javaの一般的な例を説明しています
- 23. 一般的なかなりのURLのためのApache htaccess
- 24. は、一般的なパラメータ
- 25. 一般的なエラーは+
- 26. Apache CamelのBindy形式の一般的なマップ戦略はありますか?
- 27. Luigiでの一般的なタスクの再利用
- 28. 使用して一般的な方法
- 29. 一般的なConfrimation BoxとしてngbModal
- 30. 一般的なドロップダウンリスト
これは正解、ありがとうございます。何か警告があるかどうか分かります。これがうまくいけば、私の主なカランドラコネクタマネージャーとしてスパークを使いたいと思う。 –
これは間違いなく、where句では単一のパーティション要求を実行できますが、これはJavaドライバから直接的に類似クエリを実行するよりも高価です。 – RussS
ありがとう、私はこれを答えとして受け入れました。私はOLTPのための基本ドライブを使用し、RDDのもののために火花をつけます。 –