apache-spark - 火花塞覆盖测试
问题描述
我是 pyspark 的新手,想玩 Insert Overwrite。
我创建了一个包含许多记录的test_overwrite表。然后我从test_overwrite创建了一个空的test_overwrite_3表并将一些数据放入其中。 (我确保结构是相同的。)
插入覆盖 test_overwrite_3 select * from test_overwrite limit 3
我希望在执行带有一些虚拟数据的test_overwrite_3表上方的代码后,它将被删除,并且它应该有来自我的test_overwrite表的 3 条记录。
相反,我收到了这样的错误消息:
*SQL 语句中的错误:ParseException:在输入“插入覆盖 test_overwrite_3”(第 1 行,位置 17)处没有可行的替代方案 == SQL == 插入覆盖 test_overwrite_3 ----------------- ^^^ select * from test_overwrite*
任何人都可以帮忙解决问题吗?谢谢!
解决方案
no viable alternative at input 'insert overwrite test_overwrite_3
解析错误,而不是类型错误。看到这个
我可以看到您的声明中缺少 table 关键字。
示例是:
sql(
"""
|INSERT OVERWRITE TABLE table_with_partition
|partition (p1='a',p2='b',p3='c',p4='c',p5='4')
|SELECT 'blarr' FROM tmp_table
""".stripMargin)
推荐阅读
- reactjs - 为什么没有使用 react-admin 在 Datagrid 中加载参考字段?
- flutter - Flutter 如何显示类中的数据
- javascript - 如何在水平滚动时防止单击
- swift - Swift ValueTransformer 旧的“好”代码现在抱怨当代 swift
- ms-access - 访问选择查询 - 包括空白值
- spss - 如果 kruskal wallis 检验在 SPSS 中不显着但样本超过 3 个独立的怎么办
- c# - 合并来自 SubOrchestrator 函数的输出
- python - 安装tensorflow的版本=>2.2
- redis - 确保(分布式)缓存仅在分布式系统中存储最新值
- debugging - Windbg preview kd dump 命令无法正确执行