【问题标题】: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*

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

【问题讨论】:

    标签: apache-spark pyspark apache-spark-sql


    【解决方案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)
    
    猜你喜欢
    • 2016-06-22
    • 2017-02-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多