3

Spark でカスタム JDBC を介してデータを読み取る際に問題が発生しています。jdbc url を介して推論された sql 方言をオーバーライドするにはどうすればよいですか?

問題のデータベースは、mysql バリアントを実行する vitess ( https://github.com/youtube/vitess ) であるため、mysql の方言を指定したいと考えています。jdbc URL は jdbc:vitess/ で始まります

それ以外の場合、DataFrameReader は """ を引用識別子として使用するデフォルトの方言を推測しています。

テーブルから「id」、「col2」、「col3」、「etc」を選択

代わりに、列の値の代わりに文字列表現を選択します

テーブルからid、col2、col3などを選択

4

2 に答える 2

0

このようなことができます。

val jdbcDF = spark.read
  .format("jdbc")
  .option("url", "jdbc:postgresql:dbserver")
  .option("dbtable", "schema.tablename")
  .option("user", "username")
  .option("password", "password")
  .load()

詳細については、これを確認してください

このように指定することもできます。

val connectionProperties = new Properties()
    connectionProperties.put("user", "username")
    connectionProperties.put("password", "password")
    val jdbcDF2 = spark.read
      .jdbc("jdbc:postgresql:dbserver", "schema.tablename", connectionProperties)
于 2016-11-02T04:38:37.677 に答える