万能解决办法:先把数据收集到Driver,创建临时视图,再写入a表
Dataset<Row> dataset = spark.sql(get_new_id_Sql());
StructType schema = dataset.schema();
List<Row> rows = dataset.collectAsList();
spark.createDataFrame(rows, schema).createOrReplaceTempView("all_data");
insert overwrite table ods.a
select * from all_data