問題タブ [scalikejdbc]
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 - ScalikeJDBC、生の SQL が有効な結果セットをマップまたは返さない
これを scalikejdbc ユーザー グループに投稿しました。また、github の問題にもクロス投稿する必要があります。
テーブルに対して生のクエリを実行するドキュメントの例を見てきました。次のコードで IndexEntry のリストを取得しようとしていますが、クエリが実行されてコンソールに結果が返されますが、何も返されません。 map(rs =>... の部分。
関連するコードはこちらです - これを intellij のデバッガーで実行すると、結果は "Vector" size = 0 になります。ご指導ありがとうございます。私は何か間違ったことをしています。うまくいけば、単純な見落としです。
私は scalikejdc の他のバリアントを試しました - withSql { queryDSL } と、完全な構文をサポートする SQL 補間としてのビット全体。最初と最後は常に mysql サーバーに対して実行され、57 行 (小さなデータベース) が返されます。真ん中は NPE をスローします。.map のどこかに問題があり、マップを返すだけにしようとしましたが、常に空のリストになります。
ありがとう、できれば構文エラーが SO にコピーされないことを願っています。
ああ、FWIW、configureDb は接続プールを手動で設定するだけです。これは、DB 名とサーバーが sbt テスト、dev、test、prod の間で大きく異なる可能性があるためです。現在、それは私の問題ではないか、「ConnectionPool('default') が初期化されていません」などと表示されます。
scala - Scalikejdbc. Scalikejdbc とセッションに明示的に依存せずにトランザクションを管理する
Scalikejdbc のドキュメントからわかるように、トランザクションが必要な場合はセッションを渡す必要があります。このような:
そのため、私は明示的に Scalikejdbc に依存しています。ドメイン特性で Scalike に依存したくありません。私が欲しいのは次のようなものです:
トランザクションを持ち、セッションに依存せず、クラス署名で scalike する方法はありますか?
scala - scalikejdbc、バッチ挿入用に生成された ID を返す
バッチ挿入が実行されたときに、生成されたすべての ID を取得したい。私はscalikejdbc 2.3.5を使用しています。それはまったく可能ですか?ドキュメントで何も見つかりませんでした
postgresql - PostrgeSQL挿入のためのJSONへのSpark Scala DataFrame単一行変換
という DataFramelastTail
を使用すると、次のように繰り返すことができます。
これは「次のようなもの」を出力します(編集あり):
root
|-- fileGid: string (nullable = true)
|-- eventStruct: struct (nullable = false)
| |-- eventIndex: integer (nullable = true)
| |-- eventGid: string (nullable = true)
| |-- eventType: string (nullable = true)
|-- revisionStruct: struct (nullable = false)
| |-- eventIndex: integer (nullable = true)
| |-- eventGid: string (nullable = true)
| |-- eventType: string (nullable = true)
そして(反復項目が1つだけ - 編集されていますが、うまくいけば十分な構文でもあります)
****
class org.apache.spark.sql.catalyst.expressions.GenericRowWithSchema
12345
Schema: StructType(StructField(fileGid,StringType,true), StructField(eventStruct,StructType(StructField(eventIndex,IntegerType,true), StructField(eventGid,StringType,true), StructField(eventType,StringType,true)), StructField(revisionStruct,StructType(StructField(eventIndex,IntegerType,true), StructField(eventGid,StringType,true), StructField(eventType,StringType,true), StructField(editIndex,IntegerType,true)),false))
String: [12345,[1,4,edit],[1,4,revision]]
Seqnce: WrappedArray(12345, [1,4,edit], [1,4,revision])
注: https://github.com/koeninger/kafka-exactly-once/blob/master/src/main/scala/example/TransactionalPerPartition.scalaval metric = iter.sum
のような部分を実行していますが、代わりに DataFrames を使用しています。http://spark.apache.org/docs/latest/streaming-programming-guide.html#performance-tuningにある「foreachRDD を使用するためのデザイン パターン」にも従っています 。
この org.apache.spark.sql.catalyst.expressions.GenericRowWithSchema を変換するにはどうすればよいですか ( https://github.com/apache/spark/blob/master/sql/catalyst/src/main/scala/org/apache/を参照) spark/sql/catalyst/expressions/rows.scala ) 反復項目を、PostgreSQL に簡単に書き込めるもの (JSON または ...? - 私はオープンです) に変換します。(JSON でない場合は、別の時点で使用するためにこの値を DataFrame に読み込む方法を提案してください。)
scalikejdbc - ブール値ではない Tinyint
scalikejdbc でクエリしたい既存の mysql データベースがあります。データベースは、範囲 [-1,3] の小さな値に null 許容の tinyint を使用します。
この値を照会するにはどうすればよいですか? 機能しているように見える唯一の方法は、すべての値を反映していないブール値として扱うことです。
byte または int として処理しようとした場合、または実行時例外が発生した場合
scala - Spark Scala で rdd.foreachPartition からデータを取得する
次のようなコードがあります。
コードは次のようなものを出力します(大幅な編集を伴う):
質問 1: lastRevs の値を、JSON 文字列/null のような便利な形式にしたり、Some / None のようなオプションにしたりするにはどうすればよいですか?
質問 2: 私の好み: (反復子形式ではなく) RDD のような形式のパーティション データを取得する別の方法はありますか?
http://spark.apache.org/docs/latest/streaming-programming-guide.html#performance-tuningから
質問 3: 私が使用しているデータの取得方法は適切ですか (上記のリンクをたどっている場合)? (これが scalikejdbc システム JDBC であるという事実は脇に置いておいてください。これは、このプロトタイプ以外のタイプのキー、値ストアになる予定です。)
scala - scalikejdbc 2.4.1 を使用した単体テストで接続プールが初期化されない
specs2with scalikejdbc 2.4.1、scalikejdbc-config2.4.1 を使用して単体テストを実行すると問題が発生します。これが私のコードです。
ログは次のとおりです。
最初の 2 行からわかるように、scalikejdbc はデータベースの構成を見つけましたが、接続プールを初期化できません。何か考えはありますか?ありがとう。