我有一个spark作业(scala),它将时间序列数据写入hadoop,hadoop上有一个外部表。
表由多列和其中一列进行分区( circle
)在它的值中有空格(例如 "Punjab and Rajasthan"
).
当我试着去做的时候
sparksession.sql("""
alter table table_name
drop if exists partition(creation_time < latestcreationtime)
"""
)
我得到一个非法字符异常的配置单元元存储,堆栈跟踪是附加的。我在hivecli中得到了相同的结果,看起来hive无法读取空格。
用户类引发异常:org.apache.spark.sql.analysisexception:org.apache.hadoop.hive.ql.metadata.hiveexception:metaexception(message:illegal character 在索引131处的路径中:/user/optimus/rohit/hive\u dump/c360/version=v1.28/set\u name=d\u si/creation\u time=1610994976/compression\u flag=u/si\u lob=dth/circle=andaman and nicobar islands);
1条答案
按热度按时间ggazkfy81#
1.尝试删除并重新创建表2.您的数据可能有问题,基础数据类型和表类型是什么?