火花塞覆盖测试

Posted

技术标签:

【中文标题】火花塞覆盖测试【英文标题】:spark insert overwrite test 【发布时间】:2020-01-30 16:11:44 【问题描述】:

我是 pyspark 新手,想玩 Insert Overwrite。

我创建了一个包含许多记录的 test_overwrite 表。 然后我从 test_overwrite 创建了一个空的 test_overwrite_3 表并将一些数据放入其中。 (我确定结构是一样的。)

insert overwrite 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*

任何人都可以帮助解决问题吗? 谢谢!

【问题讨论】:

【参考方案1】:

no viable alternative at input 'insert overwrite test_overwrite_3

解析错误,而不是类型错误。 see this

我可以看到您的语句中缺少 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)

【讨论】:

would you care to accept the answer as owner.

以上是关于火花塞覆盖测试的主要内容,如果未能解决你的问题,请参考以下文章

火花(pyspark)速度测试

火花火车测试拆分

重命名后如何检查火花列的相等性

汽车电子及ADAS安全部分相关测试标准

测试覆盖率

代码覆盖率VS测试覆盖率