Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache spark 如何从Spark结构化流媒体刷新蜂巢/黑斑羚表?_Apache Spark_Spark Streaming_Impala_Spark Structured Streaming - Fatal编程技术网

Apache 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

目前我的Spark结构化流媒体如下(仅显示接收器部分):

//在追加模式下将聚合查询输出到拼花地板
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,您成功地完成了吗?想和大家分享吗?对不起,我没办法