Я обрабатываю данные с помощью Spark, работающего в кластере Dataproc. Я пытался сделать кластер более мощным, добавить больше процессоров и места на диске, но это не сильно помогает. Я читаю данные из BigQuery, используя:
Dataset<Row> data = spark.read().format("bigquery")
.option("table","project.dataset.tablename")
.load()
.cache();
Я использую .cache()
, потому что я использую data
несколько раз.
Я также пытался использовать .text()
вместо .csv()
и это не улучшается.
Единственное, что помогло - это уменьшить количество записей в данных.
Что я могу изменить, чтобы заставить его работать быстрее?
data.select("column1","column2")
.write()
.mode("append")
.partitionBy("column1")
.csv("gs://bucket/folder");