сохранить искровой фрейм данных для нескольких целей параллельно - PullRequest
0 голосов
/ 25 сентября 2018

Мне нужно записать мой окончательный кадр данных в базу данных hdfs и oracle.в настоящее время после сохранения в hdfs он начинает писать в rdbms.Есть ли способ использовать потоки Java для сохранения одного и того же кадра данных в hdfs, а также параллельную rdbms.

finalDF.write().option("numPartitions", "10").jdbc(url, exatable, jdbcProp);
finalDF.write().mode("OverWrite").insertInto(hiveDBWithTable);

Спасибо.

Ответы [ 2 ]

0 голосов
/ 26 сентября 2018

df.show и df.write - действия.Действия происходят последовательно в Spark.Таким образом, ответ - нет, стандартно невозможен, если не используются потоки.

0 голосов
/ 25 сентября 2018

Кэшируйте finalDF перед записью в hdfs и rdbms.Затем убедитесь, что достаточно исполнителей доступны для написания одновременно.Если число разделов в finalDF равно p, а число ядер на исполнителей равно c, то вам нужно минимум ceilof (p / c) + ceilof (10 / c) исполнителей.

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