問題タブ [phantom-dsl]
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.
scala - セットのファントム DSL の質問の内容と並べ替え
Phantom DSLを使用してこのscalaコードを作成し、cassandraを照会しました
動作しますが、いくつか質問があります
- セット内容
セットに値が含まれているかどうかを照会する場合。私が行ったようにクエリ基準を作成するのは正しいですか? 基本的に、確認したいすべての値に対して AND 句があります。これは次のような一発でできたでしょうか
- 並べ替え
ソート クエリを生成できません。やろうとすると
コードはコンパイルさえしません
scala - cassandra の phantom-dsl を使用して、クエリ句内でプログラムによって列を指定する方法
ユーザー入力に応じて動的クエリ句を作成する必要があります。つまり、クエリ内で列を動的に指定する必要があります。すべての例は次の形式です。
.where(_.id eqs myUuid)
ただし、次の行に沿ってsthが必要です
.where('id' eqs myUuid)
これは不可能です。phantom-dsl を使用してクエリの列を動的に指定する方法はありますか?
json - phantom-dsl Collection 列の json4s を使用した JSON シリアライザー
jsonシリアライザーを必要とするphantom-dslのコレクション列チュートリアルに従っています。
以下の実装では、次のエラー出力が得られます。
見つかった: org.dyne.danielsan.superchain.data.models.JsonVin
[エラー] 必須: org.json4s.JValue
[エラー] (展開すると) org.json4s.JsonAST.JValue
[エラー] コンパクト (レンダー (obj))
私が間違っている場所を指摘するのに役立ちます。問題は、AFAIK phantom-dsl ではカスタム タイプを定義する必要があることですが、json4s は JValue を期待しています...
訂正:
フラビアンさん、コメントありがとうございます。あなたは正しいです。最後に、これは Json4s で作業するために必要なものです:
scala - エラー com.websudos.phantom - バッチが大きすぎます
次のエラーが表示されます。
コードを再実行すると、毎回次の時点でこのエラーが発生します。
洞察を事前に感謝します。
+++ アップデート +++
したがって、問題のコードは
以下はトランザクションの挿入関数を示しており、ブロックにも同様のコードがあります。
フォローしようとした
&&
https://github.com/outworkers/phantom/wiki/Batch-statements
Batch too large
しかし、エラーにつながらない実装を見つけるのにまだ苦労しています。
cassandra - CQL: すべての行を選択し、個別のパーティション キー
私はテーブルを持っています
ユーザー ID を使用して、別のテーブルで完全なユーザーの詳細を検索できます。この表は、ユーザーの利益の履歴を提供します。最新のものを取得して、現在の利益額を見つけます。
最も収益性の高い 10 人のユーザーとその収益額を取得するにはどうすればよいですか。ユーザーIDで区別したい
ありがとう。
solr - プログラムによる DataStax 検索の使用 (DataStax ドライバーまたはファントム)
現在、プレーン文字列クエリ/準備済みステートメント以外で、アプリケーションから DataStax 検索を使用する方法はありますか?
はいの場合、例/チュートリアルはありますか?
いいえの場合、将来この機能を統合する予定はありますか?
DataStax またはファントム DSL の両方が優れています。
apache-spark - Cassandraから何百万行も効果的に読み取る方法は?
Cassandra テーブルから数百万行を読み取るのは難しい作業です。実際、このテーブルには 4,000 ~ 5,000 万行の行が含まれています。データは実際にはシステムの内部 URL であり、それらすべてを起動する必要があります。それを起動するために Akka Streams を使用していますが、必要に応じてバック プレッシャーを行いながら、かなりうまく機能しています。しかし、すべてを効果的に読み取る方法はまだ見つかっていません。
これまでに試したこと:
Akka Stream を使用してデータを Stream として読み取ります。特定のテーブルのパブリッシャーを提供する phantom-dsl を使用しています。ただし、すべてを読み取るわけではなく、一部のみを読み取ります。実際には、最初の 100 万を超えると読み取りが停止します。
特定の日付までに Spark を使用して読み取ります。私たちのテーブルは時系列テーブルのようにモデル化されており、年、月、日、分... の列があります。現在、日ごとに選択しているため、Spark は処理する多くのものを取得しませんが、すべての日を選択するのは面倒です。
コードは次のとおりです。
残念ながら、データを減らすためにパーティションを反復処理することはできません。アクターがシリアル化できないと不平を言うため、収集を使用する必要があります。
集計などとは異なることを行うために何百万行も読み取った経験があるかどうかを知りたいです。
また、すべてを読み込んで、ストリーミング (spark または Akka) を使用して受信する Kafka トピックに送信することも考えましたが、問題は同じで、これらすべてのデータを効果的にロードする方法は?
編集
今のところ、100 GB の適切な量のメモリを備えたクラスターで実行し、収集と反復処理を行っています。
また、これは、spark でビッグデータを取得し、reduceByKey、aggregateByKey などを使用して分析することとは大きく異なります。
HTTP経由ですべてを取得して送信する必要があります=/
これまでのところ、私が行ったように機能していますが、このデータがどんどん大きくなって、すべてをメモリにフェッチしても意味がなくなるのではないかと心配しています。
このデータをストリーミングしてチャンクでフェッチするのが最善の解決策ですが、これにはまだ良いアプローチが見つかりません。
最後に、Spark を使用してそれらすべてのデータを取得し、CSV ファイルを生成し、Akka Stream IO を使用して処理することを考えています。 100万。
scala - Cassandra と Phantom DSL による部分挿入
Scala用のPhantom DSLドライバーを使用してCassandra DBにデータを保存する単純なScala Playアプリを構築しています。Cassandra の優れた機能の 1 つは、部分的な更新を実行できることです。つまり、キー列を指定する限り、テーブル内の他のすべての列に値を指定する必要はありません。Cassandra は、キーに基づいてデータを既存のレコードにマージします。
残念ながら、これは Phantom DSL では動作しないようです。複数の列を持つテーブルがあり、キーとデータ列の 1 つだけに値を指定して更新できるようにしたいと考えています。他のすべてのデータ列はそのままにして、通常どおり Cassandra にこれをレコードにマージさせます。そのレコードは変更されていません。
ただし、挿入/更新ステートメントで値を指定しない場合、Phantom DSL は既存の列を null で上書きします。
これに対する回避策を知っている人はいますか?最終的にデータ列が非常に大きくなるため、毎回すべてのデータ列を読み書きする必要はありません。
参考までに、Phantom コーディングには次の例と同じアプローチを使用しています。
scala - タイプ MapColumn、SetColumn、JsonColumn には所有者とレコードが必要です。これらの値は実際には何ですか?
たとえば、私は
K
とV
は明らかですが、所有者と記録は?そこには何を入力すればよいですか?