Почему Spark дважды читает HDFS? [Дубликат]

, если вы используете runnable, вы можете сохранить пространство, чтобы перейти к любому другому классу.

2
задан Matt Holtzman 12 August 2016 в 18:47
поделиться

1 ответ

Это происходит потому, что вы не предоставляете схему для DataFrameReader. В результате Spark должен с нетерпением отсканировать набор данных для вывода выходной схемы.

Поскольку mappedRdd не кэшируется, он будет дважды оценен:

  • один раз для вывода схемы
  • один раз, когда вы вызываете data.show

Если вы хотите запретить вам предоставлять схему для чтения (синтаксис Scala):

val schema: org.apache.spark.sql.types.StructType = ???
spark.read.schema(schema).json(mappedRdd)
5
ответ дан zero323 19 August 2018 в 14:08
поделиться
Другие вопросы по тегам:

Похожие вопросы: