【问题标题】:aws glue drop partition using spark sql使用 spark sql 的 aws 胶水滴分区
【发布时间】:2021-07-19 22:01:35
【问题描述】:

使用 spark sql frm 胶水元数据删除分区会引发问题,而相同的代码在 hive shell 中工作。

**Hive shell**
hive> alter table prc_db.detl_stg drop IF  EXISTS partition(prc_name="dq") ;
OK
Time taken: 1.013 seconds


**spark shell**
spark.sql(''' alter table prc_db.detl_stg drop IF  EXISTS partition(prc_name="dq") ''') ;

Error message:
py4j.protocol.Py4JJavaError: An error occurred while calling o60.sql.
: org.apache.spark.sql.AnalysisException: org.apache.hadoop.hive.ql.metadata.HiveException: InvalidObjectException(message:Unsupported expression (Service: AWSGlue; Status Code: 400; Error Code: InvalidInputException

【问题讨论】:

标签: amazon-emr aws-glue-data-catalog aws-glue-spark


【解决方案1】:

如果您打算从 spark shell 中删除分区(胶目录),则必须在分区名称中添加“”。例如:spark.sql(""" alter table reinvent.newtesttable drop partition ( part= " 'part2' " ) """) 对我来说是spark.sql(''' alter table prc_db.detl_stg drop IF EXISTS partition(prc_name="'dq'") ''')

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-30
    • 2020-03-19
    • 2018-06-26
    • 1970-01-01
    • 2021-10-14
    相关资源
    最近更新 更多