gpt4 book ai didi

apache-spark - spark-sql 表或 View 未找到错误

转载 作者:行者123 更新时间:2023-12-04 04:24:28 26 4
gpt4 key购买 nike

我正在尝试使用 spark-sql 和 JDBC 运行一个基本的 java 程序。我遇到了以下错误。不知道这里出了什么问题。我读过的大部分 Material 都没有讨论需要做什么来解决这个问题。

如果有人能指点我一些关于 Spark-sql (Spark-2.1.1) 的好 Material ,那也太棒了。我计划使用 spark 来实现 ETL,连接到 MySQL 和其他数据源。

线程“main”org.apache.spark.sql.AnalysisException 中的异常:找不到表或 View :myschema.mytable ;第 1 行 pos 21;

    String MYSQL_CONNECTION_URL = "jdbc:mysql://localhost:3306/myschema";
String MYSQL_USERNAME = "root";
String MYSQL_PWD = "root";

Properties connectionProperties = new Properties();
connectionProperties.put("user", MYSQL_USERNAME);
connectionProperties.put("password", MYSQL_PWD);

Dataset<Row> jdbcDF2 = spark.read()
.jdbc(MYSQL_CONNECTION_URL, "myschema.mytable", connectionProperties);
spark.sql("SELECT COUNT(*) FROM myschema.mytable").show();

最佳答案

这是因为 Spark 默认情况下不会在 Spark SQL 上下文中从连接的任何模式中注册任何表。您必须自己注册:

jdbcDF2.createOrReplaceTempView("mytable");
spark.sql("select count(*) from mytable");

您的 jdbcDF2 在 myschema.mytable 中有一个来源来自 MySQL 并将在某些操作中从该表加载数据。

请记住,MySQL 表与 Spark 表或 View 不同。您告诉 Spark 从 MySQL 读取数据,但您必须将此 DataFrame 或 Dataset 注册为当前 Spark SQL Context 或 Spark Session 中的表或 View

关于apache-spark - spark-sql 表或 View 未找到错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44460519/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com