Пожалуйста, посмотрите на прикрепленный скриншот.
Я пытаюсь улучшить производительность своей работы Spark, и для выполнения действия по выполнению действия на фрейме данных требуется почти 5 минут.
Я использую команду take, чтобы убедиться, что в фрейме данных есть какие-то записи, и если он присутствует, я хочу перейти к дальнейшей обработке.
Я пытался взять и посчитать и не вижу большой разницы во времени для исполнения.
Другой сценарий - это когда требуется около 10 минут, чтобы записать фрейм данных в таблицу кустов (в нем не более 200 строк и 10 столбцов).
df.write.mode ( "добавить"). PartitionBy ( "Дата"). InsertInto (имя_таблицы)
Пожалуйста, предложите, как мы можем минимизировать время, затрачиваемое на его взятие и вставку в таблицу улья.
Обновление:
Вот мой иск искомки: spark-submit --master yarn-cluster --class com.xxxx.info.InfoAssets --conf "spark.executor.extraJavaOptions = -XX: + UseCompressedOops -XX: + PrintGCDetails -XX : + PrintGCTimeStamps -Djava.security.auth.login.config = kafka_spark_jaas.conf "--files /home/ngap.app.rcrp/hive-site.xml,/home//kafka_spark_jaas.conf,/etc/security/keytabs /ngap.sa.rcrp.keytab --jars /usr/hdp/current/spark-client/lib/datanucleus-api-jdo-3.2.6.jar,/usr/hdp/current/spark-client/lib/datanucleus -core-3.2.10.jar, / usr / hdp / current / spark-client / lib / datanucleus-rdbms-3.2.9.jar --executor-memory 3G --num-executors 3 --executor-cores 10 / home / InfoAssets / InfoAssets.jar
это простой фрейм данных, который содержит 8 столбцов, содержащих около 200 записей, и я использую следующий код для вставки в таблицу кустов.
df.write.mode ("append"). PartitionBy ("partkey"). InsertInto (hiveDB + "." + TableName)
Спасибо, Бабы