Apache spark 如何以比正常更快的速度执行流式静态连接以与批触发持续时间同步?
我正在使用spark-sql-2.4.1v在我的PoC中进行流式处理 我有一个场景如下 Dataset staticDf=//hdfs/cassandra表中以前的数据 Dataset streamingDf=//来自kafka主题的数据流Apache spark 如何以比正常更快的速度执行流式静态连接以与批触发持续时间同步?,apache-spark,cassandra,apache-spark-sql,spark-streaming,Apache Spark,Cassandra,Apache Spark Sql,Spark Streaming,我正在使用spark-sql-2.4.1v在我的PoC中进行流式处理 我有一个场景如下 Dataset staticDf=//hdfs/cassandra表中以前的数据 Dataset streamingDf=//来自kafka主题的数据流 Dataset<Row> joinDs = streamingDs.join(staticDs, streamingDs.col("companyId").equalTo(staticDs.col("company_id"), "inner"
Dataset<Row> joinDs = streamingDs.join(staticDs, streamingDs.col("companyId").equalTo(staticDs.col("company_id"), "inner"));
Dataset joinDs=streamingDs.join(staticDs,streamingDs.col(“companyId”).equalTo(staticDs.col(“company_id”),“inner”);
即使这是工作的罚款,我有一个加入的时间问题。
目前我的跳跳虎时间大约是10秒。这个连接在哪里运行了将近1分钟。所以我没有在预期的时间内得到结果
如何使我的加入触发器每10秒触发一次
谢谢。在您的情况下,要执行join Spark,需要从Cassandra读取所有数据,这很慢。正如我前面提到的,如果您想要在数据集/数据帧上执行高效联接,或者使用RDDAPI中的
joinWithCassandra
/leftJoinWithCassandra
,则需要使用DSE分析
2020年9月更新:在数据帧中添加了对加入Cassandra的支持