我想使用Spark SQL将数据从另一个配置单元表插入配置单元表。我正在错误以下。
我的代码:
SparkConf conf = new SparkConf().setAppName("GetHiveTableData");
JavaSparkContext sc = new JavaSparkContext(conf);
JavaHiveContext hiveCtx = new JavaHiveContext(sc);
JavaSchemaRDD rdd = hiveCtx.sql("INSERT INTO TABLE table1 ( aggregation_date, subnetwork,last_5_max) select to_date(now()), subnetwork, max(last_5_minute_cpu_utilization_kpi) from table2 where to_date(dataset_date)= to_date(now()) GROUP BY subnetwork");
错误消息:
Caused by: org.apache.hadoop.hive.ql.parse.ParseException: line 1:83 cannot recognize input near '(' 'aggregation_date' ',' in select clause
at org.apache.hadoop.hive.ql.parse.ParseDriver.parse(ParseDriver.java:202)
at org.apache.hadoop.hive.ql.parse.ParseDriver.parse(ParseDriver.java:166)
at org.apache.hadoop.hive.ql.parse.ParseDriver.parse(ParseDriver.java:161)
最佳答案
您没有使用有效的配置单元语法。你需要做
insert into table table1 select ..
hive 用途:
用于创建数据。