我想使用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 用途:
  • CTAS(创建表作为选择)
  • 加载数据(本地)inpath

  • 用于创建数据。

    09-10 05:40