Apache spark 如何从Spark结构化流媒体刷新蜂巢/黑斑羚表?
目前我的Spark结构化流媒体如下(仅显示接收器部分):Apache spark 如何从Spark结构化流媒体刷新蜂巢/黑斑羚表?,apache-spark,spark-streaming,impala,spark-structured-streaming,Apache Spark,Spark Streaming,Impala,Spark Structured Streaming,目前我的Spark结构化流媒体如下(仅显示接收器部分): //在追加模式下将聚合查询输出到拼花地板 aggregationQuery.writeStream .格式(“拼花地板”) .trigger(trigger.ProcessingTime(“15秒”)) .分区人(“日期”、“小时”) .option(“路径”,“hdfs://:8020/user/myuser/spark/proyecto3”) .option(“checkpointLocation”,“hdfs://:8020/use
//在追加模式下将聚合查询输出到拼花地板
aggregationQuery.writeStream
.格式(“拼花地板”)
.trigger(trigger.ProcessingTime(“15秒”))
.分区人(“日期”、“小时”)
.option(“路径”,“hdfs://:8020/user/myuser/spark/proyecto3”)
.option(“checkpointLocation”,“hdfs://:8020/user/myuser/spark/checkpointfolder3”)
.outputMode(“追加”)
.start()
上述代码在路径定义的目录中生成.parquet
文件
我已经在外部定义了一个从该路径读取的Impala表,但我需要在每次追加parquet
文件后更新或刷新该表
如何实现这一点?您需要在文件接收之后更新表的分区
import spark.sql
val query1=“ALTER TABLE proyecto3 ADD IF NOT EXISTS PARTITION(date='20200803')LOCATION'/your/LOCATION/proyecto3/date=20200803'”
sql(s“$query1”)
导入spark.sql
val query2=“ALTER TABLE proyecto3 ADD IF NOT EXISTS PARTITION(hour='104700')LOCATION'/your/LOCATION/proyecto3/date=20200803/hour=104700'”
sql(s“$query2”)
spark.sql(“刷新表名称”)
我应该在哪里尝试这行代码?生成每个新的拼花地板文件后,它会工作吗?@messenjah00,您成功地完成了吗?想和大家分享吗?对不起,我没办法