背景故事
先看报错信息:
mismatched input ‘-’ expecting ‘:’
报错的意思就是说,在这个表里面,字段名中存在特殊符号“-”,无法解析报错。
这个问题会发生在CDH
的spark
中。如果不是CDH
的spark
版本的程序,可以跳过此文章。
解决方案:
不要使用CDH
版本的spark
就好了。比如我这里出现报错的时候,使用的版本是2.4.0-cdh6.1.1
那么把这个版本修改为2.4.0
就好了。
过程分析
过程早就分析完了,下面写一篇结果:
环境版本
- spark-sql_2.11
2.4.0-cdh6.1.1 - spark-hive_2.11
2.4.0-cdh6.1.1
测试数据准备
SparkSession spark = SparkSession.builder().master("local").getOrCreate();
ArrayList<Row> rows = new ArrayList<>();
for (int i = 0;