gpt4 book ai didi

hadoop - Spark SQL "Limit"

转载 作者:可可西里 更新时间:2023-11-01 14:26:33 24 4
gpt4 key购买 nike

环境:使用 Hadoop 的 spark 1.6。 Hortonworks 数据平台 2.5

我有一个有 100 亿条记录的表,我想获取 3 亿条记录并将它们移动到一个临时表。

sqlContext.sql("select ....from my_table limit 300000000").repartition(50)
.write.saveAsTable("temporary_table")

我看到 Limit 关键字实际上会让 spark 只使用一个执行器!!!这意味着将 3 亿条记录移动到一个节点并将其写回 Hadoop。我怎样才能避免这种减少,但在拥有多个执行者的情况下仍然只能获得 3 亿条记录。我希望所有节点都写入 hadoop。

采样可以帮助我吗?如果是怎么办?

最佳答案

可以通过以下方式使用采样:-

select ....from my_table TABLESAMPLE(.3 PERCENT)

select ....from my_table TABLESAMPLE(30M ROWS)

关于hadoop - Spark SQL "Limit",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42512790/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com