Env: искра 1.6 с использованием Hadoop. Платформа данных Hortonworks 2.5
У меня есть таблица с 10 миллиардами записей, и я хотел бы получить 300 миллионов записей и переместить их во временную таблицу.
sqlContext.sql("select ....from my_table limit 300000000").repartition(50)
.write.saveAsTable("temporary_table")
Я видел, что ключевое слово Limit на самом деле заставляет искру использовать только одного исполнителя!!! Это означает перемещение 300 миллионов записей на один узел и запись их обратно в Hadoop. Как я могу избежать этого сокращения, но при этом получить всего 300 миллионов записей, имея более одного исполнителя. Я хотел бы, чтобы все узлы записывались в hadoop.
Может ли мне в этом помочь примерка? Если да, то как?