问题描述
首先,Error encountered near token
是一个十分宽泛的报错,很多问题都可以引发它。
我的原报错是这样的。
FAILED: SemanticException 0:0 Expected 2 columns for insclause-0/default@test1; select produces 1 columns. Error encountered near token ''Tom''
我的表结构很简单,只有两个变量。
create table test1 (id int, name string) row format delimited fields terminated by ','
在我尝试 insert
一行新的数据时,出现了上述的错误。
尝试解决
我猜想,可不可能是因为关于 String
数据类型插入时,有什么语法错误。
于是,我又建了一个表,只含有两个 int
类型变量。
SQL
语法不变,再次尝试执行。
它又报错了,但和上面的不一样。是这样的:
Log file of hiveserver2
FAILED: Execution Error, return code 2 from org.apache.hadoop.hive.ql.exec.mr.MapRedTask
查了一些资料,说需要查看 YARN
的日志。
那我们再去运行 ResourceManager
的机器上查看。
Log of YARN
把它显示的三个 property
加入到 mapred-site.xml
中即可,注意配置 HADOOP_HOME
。
小结
集群配置有很多坑,报错提示也不精确,一环套一环,还是要静下心来多分析多尝试,一定可以解决的!