Невозможно преобразовать текстовый формат в формат паркета через искру - PullRequest
0 голосов
/ 29 декабря 2018

Я пытаюсь вставить данные раздела из одной таблицы (текстовый формат) в другую таблицу (формат паркета), используя платформу spark.Объем данных составляет около 20 ГБ, и для этого я использую следующую конфигурацию:

master = пряжа

клиент режима развертывания

память драйвера = 3g

память исполнителя = 15 ГБ

число исполнителей = 50

ядра исполнителя = 4

Я использую приведенный ниже фрагмент кода, чтобы сделать это:

val df = spark.sql("select * from table1")
df.repartition(70).write().mode("append").format("parquet").insertInto("table2")

Каждый раз, когда я пытаюсь выполнить это, после выполнения определенных задач, задание завершается с ошибкой пространства Java-кучи.

Исходя из указанного мной размера данных и конфигурации искры, я не уверен, что что-то естьчто мне здесь не хватает из-за чего работа не получается.Любая помощь в этом направлении будет принята с благодарностью.

1 Ответ

0 голосов
/ 31 декабря 2018

Необходимо установить параметры JVM:

Как установить размер Spark MemoryStore при работе в IntelliJ Scala Console?

Официальная информация:

Свойства Spark, в основном, можно разделить на два вида: один относится к развертыванию, например «spark.driver.memory», «spark.executor.instances», на этот тип свойств нельзя повлиять при программной настройке через SparkConf ввремя выполнения или поведение зависит от того, какой менеджер кластера и режим развертывания вы выберете, поэтому было бы предложено установить с помощью файла конфигурации или параметров командной строки spark-submit;другая связана главным образом с контролем времени выполнения Spark, например «spark.task.maxFailures», этот тип свойств может быть установлен любым способом.

https://spark.apache.org/docs/latest/configuration.html

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