【问题标题】:Spark custom schema & jdbc not rendering data properlySpark 自定义模式和 jdbc 无法正确呈现数据
【发布时间】:2020-01-21 11:00:18
【问题描述】:

下面的代码打印列名而不是数据。

    SparkConf sparkConf = new SparkConf().setAppName("SparkSQL-Analysis").setSparkHome("C:\\work\\spark-2.4.4-bin-hadoop2.7").setMaster("local[*]");

    JavaSparkContext javaSparkContext = new JavaSparkContext(sparkConf);

    SparkSession sparkSession = SparkSession.builder().sparkContext(javaSparkContext.sc()).appName("SparkSQL").getOrCreate();

    Dataset<Row> jdbcDF = sparkSession.read().format("jdbc")
              .option("url", "jdbc:mariadb://localhost:4406/cra")
              .option("dbtable", "rpm_user")
              .option("user", "root")
              .option("password", "XXXXXX")
              .option("customSchema", "RU_CRD string, RU_CONTACT_NUMBER string, RU_UPD string")
              .load();

    jdbcDF.show();

    javaSparkContext.close();

我错过了什么?

Output

【问题讨论】:

  • 如果表中没有数据则只打印表头
  • @Salim - 它正在打印检查上述输出链接的行,但包含列名而不是数据。在选项中提供 customSchema 时会发生这种情况。

标签: apache-spark


【解决方案1】:

在这里找到解决方案How to read data from mariadb using Spark java

从 jdbc:mariadb://localhost:4406/cra 至 jdbc:mysql://localhost:4406/cra 解决了我的问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-09-27
    • 2023-03-16
    • 2018-03-28
    • 1970-01-01
    • 2020-05-29
    相关资源
    最近更新 更多