當前位置:編程學習大全網 - 網站源碼 - Spark-sql讀取hive分區表,限制分區過濾條件,限制分區數量。

Spark-sql讀取hive分區表,限制分區過濾條件,限制分區數量。

在使用spark讀取hive分區表(或在spark和nodepad開發工具上使用hive)的過程中,部分開發人員沒有註意添加分區屬性過濾,導致執行過程中加載滿數據,造成任務執行效率低、磁盤IO損失大等問題。

1.自定義規則CheckPartitionTable類來實現規則。

然後用這個方法創建SparkSession。

2.自定義規則CheckPartitionTable類來實現規則,並將規則類追加到Optimizer.batches: Seq[Batch]。

1,CheckPartitionTable規則執行類,需要引入sparkSession來獲取導入的conf;規則[邏輯計劃];]需要繼承;

2.split謂詞用於分隔分區謂詞並獲得分區謂詞表達式。

sql解析過程中謂詞被解析為TreeNode,這裏遞歸得到分區謂詞。

3.判斷是否是分區表,是否添加分區字段。

4.實現規則的應用方法。

關於spark-sql的主要執行過程和預備知識,可以參考我同學/p/4cc6797fb9ce的這篇博文。

  • 上一篇:DNF安裝固態後登錄遊戲黑屏後直接掉線怎麽解決求大佬指點
  • 下一篇:單片機燒錄原理
  • copyright 2024編程學習大全網