簡體   English   中英

“分區數據”是什么意思 - S3

[英]what does it mean "partitioned data" - S3

我想使用 Netflix 的 outputCommitter(將 Spark 與 Amazon EMR 結合使用)。 在 README 中有 2 個選項:

  1. S3DirectoryOutputCommitter - 用於將未分區數據寫入 S3 並解決沖突。
  2. S3PartitionedOutputCommitter - 用於將分區數據寫入 S3 並解決沖突。

我試圖理解這些差異,但沒有成功。 有人可以解釋什么是 s3 中的“分區數據”嗎?

根據 hadoop 文檔,“這個提交器是“目錄”提交器的擴展,它有一個特殊的沖突解決策略,旨在支持將新數據插入到使用 Hive 的分區策略構建的目錄樹中的操作:樹的不同級別代表不同的列”

在 hadoop 文檔中搜索完整的詳細信息。

請注意,EMR 提交者不是 ASF S3A 提交者,因此請采用不同的配置選項並擁有自己的文檔。 但由於他們的工作是 .netflix 工作的重新實現,他們應該在這里做同樣的事情

我對outputCommitter不熟悉,Amazon S3 中的分區數據通常是指在目錄之間拆分文件以減少需要從磁盤讀取的數據量。

例如:

/data/month=1/
/data/month=2/
/data/month=3/
...

如果使用WHERE month=1之類的子句對數據運行 Hive 類型的查詢,那么它只需要在month=1/子目錄中查找,從而節省 2/3 的磁盤訪問。

暫無
暫無

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

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