Поддерживает ли Spark SQL 2.1 запись временной таблицы или таблицы кустов в Mysql / Oracle? - PullRequest
0 голосов
/ 29 марта 2019

Я использую Spark SQL 2.1,

Я могу читать данные из mysql / oracle как временное представление в Spark SQL:

val url = "jdbc:mysql://localhost:3306/db1"
val user = "root"
val pass = "root"
val sql =
  s"""
      CREATE OR REPLACE TEMPORARY VIEW foobar
      USING org.apache.spark.sql.jdbc
      OPTIONS (url '$url', dbtable '(select id, name, now() from db1.company) as x', user '$user', password '$pass', numPartitions '3')
  """.stripMargin(' ')

val session = SparkSession.builder().appName("SparkSQL003").master("local[4]").getOrCreate()

session.sql(sql)

У меня вопрос: поддерживает ли Spark SQL 2.1 запись временного представления или таблицу Hive обратно в oracle / mysql с чистым sql

1 Ответ

0 голосов
/ 29 марта 2019

Я публикую свои выводы здесь, Spark SQL поддерживает эту функцию в 2.1.0

  test("SparkSQL006") {
    val url = "jdbc:mysql://localhost:3306/db1"
    val user = "root"
    val pass = "root"
    val sql =
      s"""
          CREATE OR REPLACE TEMPORARY VIEW foobar
          USING org.apache.spark.sql.jdbc
          OPTIONS (url '$url', dbtable 'db1.company', user '$user', password '$pass', numPartitions '3')
      """.stripMargin(' ')

    val session = SparkSession.builder().appName("SparkSQL003").master("local[4]").getOrCreate()

    import session.implicits._
    session.createDataset(Seq((100,"IBM"), (200, "Apply"))).createOrReplaceTempView("t")

    session.sql(sql)

    session.sql(
      """
         insert into foobar select * from t
      """.stripMargin(' '))

  }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...