希望大家都知道,在hive0.13及更高版本中,列名可以包含任何unicode字符(请参阅hive-6013)。在backticks(`)中指定的任何列名都是按字面意义处理的,但它似乎适用于表。在我的例子中,我创建了一个视图,它使用了几个列,这些列的列名中包含特殊字符,如(,)、$、%和空格。我在创建视图时使用了backtics,并创建了视图,但在使用“select*from view\u name”检索时,我在没有启动任何map reduce作业的情况下遇到以下错误:
失败:执行错误,从org.apache.hadoop.hive.ql.exec.mr.mapredlocaltask返回代码1
它只生成查询id,但没有创建作业,因此找不到日志。但是,当我尝试在色调Hive编辑器我得到了工作运行,但无法取得结果。
counters:
File Bytes Read 1882965
File Bytes Written 2120145
Hdfs Bytes Read 43923
Hdfs Bytes Written 9250984
Hdfs Read Ops 3
Hdfs Write Ops 2
Committed Heap Bytes 220725248
Cpu Milliseconds 6420
Gc Time Millis 46
Merged Map Outputs 1
Physical Memory Bytes 286355456
Reduce Input Groups 19332
Reduce Input Records 19332
Reduce Output Records 0
Reduce Shuffle Bytes 1882961
Shuffled Maps 1
Spilled Records 19332
Virtual Memory Bytes 1629929472
Created Files 1
Records Out 0 19332
是否与权限问题有关?
1条答案
按热度按时间zynd9foi1#
使用
REGEXP_REPLACE
将“”中的所有字符替换为列c1中的“”