簡體   English   中英

Spark最佳方法查找數據幀以提高性能

[英]Spark best approach Look-up Dataframe to improve performance

Dataframe A(百萬條記錄)其中一列是create_date,modified_date

數據框 B 500 條記錄具有 start_date 和 end_date

目前的做法:

Select a.*,b.* from a join b on a.create_date between start_date and end_date

上述工作需要半小時或更長時間才能運行。

我怎樣才能提高性能

激發工作細節

在此處輸入圖片說明

DataFrames 目前沒有這樣的直接連接方法。 在執行連接之前,它將完全讀取兩個表。

https://issues.apache.org/jira/browse/SPARK-16614

您可以使用 RDD API 來利用joinWithCassandraTable函數

https://github.com/datastax/spark-cassandra-connector/blob/master/doc/2_loading.md#using-joinwithcassandratable

正如其他人所建議的那樣,其中一種方法是廣播較小的數據幀。 這也可以通過配置以下參數自動完成。

spark.sql.autoBroadcastJoinThreshold

如果數據幀大小小於此處指定的值,Spark 會自動廣播較小的數據幀而不是執行連接。 您可以在此處閱讀更多相關信息。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM