在 Hive CLI 上执行“alter table table_name drop partition(part_column < value)”时出现空指针错误
Posted
技术标签:
【中文标题】在 Hive CLI 上执行“alter table table_name drop partition(part_column < value)”时出现空指针错误【英文标题】:Null Pointer Error while doing "alter table table_name drop partition(part_column < value)" on Hive CLI 【发布时间】:2021-01-19 19:30:12 【问题描述】:我有一个 Spark 作业 (Scala),它将时间序列数据写入 Hadoop,Hive 中有一个外部表。
该表由多列分区,其中一列 (circle
) 的值中有空格(例如 "Punjab and Rajasthan"
)。
在我尝试做的火花工作中
sparksession.sql("""
alter table table_name
drop if exists partition(creation_time < latestcreationtime)
"""
)
我收到 Hive Metastore 的非法字符异常,附加了堆栈跟踪。我在 hive CLI 中得到了同样的结果,看起来 Hive 无法读取空格。
用户类抛出异常:org.apache.spark.sql.AnalysisException: org.apache.hadoop.hive.ql.metadata.HiveException: MetaException(消息:索引 131 处路径中的非法字符: /user/optimus/rohit/hive_dump/c360/version=v1.28/set_name=d_si/creation_time=1610994976/compaction_flag=U/si_lob=DTH/circle=Andaman 和尼科巴群岛);
【问题讨论】:
【参考方案1】:1.尝试删除并重新创建表 2.你的数据可能有问题,底层数据类型和表类型是什么?
【讨论】:
以上是关于在 Hive CLI 上执行“alter table table_name drop partition(part_column < value)”时出现空指针错误的主要内容,如果未能解决你的问题,请参考以下文章