当前位置: 首页 > 知识库问答 >
问题:

sql表或视图未找到错误

孙乐逸
2023-03-14

我正在尝试使用spark sql运行一个基本的java程序

如果有人能给我指出一些在斯巴克-sql(斯巴克-2.1.1)上可以阅读的好材料,那也太好了。我计划使用火花来实现ETL,连接到MySQL和其他数据源。

异常在线程"main"org.apache.spark.sql.分析异常:未找到表或视图: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();

共有1个答案

邹锦
2023-03-14

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

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

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

请记住,MySQL表与Spark表或视图不同。您告诉Spark从MySQL读取数据,但您必须将此数据帧或数据集注册为当前SparkSQL上下文或Spark会话中的表或视图

 类似资料:
  • Im my routes.php我有以下内容: 当我的数据库还没有表,我想进行php artisan迁移时,结果是:SQLSTATE[42S02]:找不到基表或视图:1146表“ae_dev.categories”不存在 我的迁移文件: 我认为Laravel托盘从routes.php调用类别,想做选择或某种想法,所以我想运行创建类别表的迁移,但上述错误是在... 我怎样才能解决这个问题?

  • 我得到以下错误: 18/03/14 15:31:11错误应用程序管理员:用户类引发异常:org。阿帕奇。火花sql。分析异常:未找到表或视图:产品;第1行42号位置 这是我的代码: 我做错了什么?在Spark中不使用也可以做同样的事情吗?

  • 首先,我错误地回滚了2次迁移,然后运行了命令,出现以下错误: 然后我阻止了拉威尔。之后,当我运行启动Laravel的命令时,我得到了相同的错误。以下是我回滚的两个迁移: 1. 2. 请帮我解决这个令人沮丧的问题。所有答案都非常感谢,提前感谢。

  • ApplicationMaster:用户类引发异常:org。阿帕奇。火花sql。AnalysisException:未找到表或视图:“DB\U X”。“表Y” Spark会话: 配置单元站点中的配置单元仓库目录。xml:/apps/hive/warehouse/ 此处抛出错误: 在java中: 在spark shell interactive中: 显示创建表table\u Y: Hadoop文件:

  • 我在我的电脑上安装了homestead,然后我尝试通过本地域访问我的文件。但是当我尝试连接DB时,会显示这个错误。我也无法访问我的其他项目。我把一切都安排得很好。但我不知道为什么给我看这个错误。 注意:我使用的是Windows 8.1 这是我的设置代码: 亚马尔家园酒店 ip:“192.168.10.10” 内存: 2048 CPI: 1 提供者:virtualbox 授权:~/.ssh/id\u

  • 我创造了一个迁移 任何我写的CMD这个错误是可见的。 [Illumb\Database\QueryException]SQLSTATE[42S02]:找不到基表或视图:1146表“prj_roocket.permissions”不存在(SQL:select*from) [PDOException]SQLSTATE[42S02]:未找到基表或视图:1146表“prj_roocket.permissi