Spark - получить счетчики при сохранении в таблицу улья (ИЛИ C) - PullRequest
0 голосов
/ 04 августа 2020

Я хотел бы спросить вас, есть ли возможность получить количество DataFrame, которое я вставляю в Hive Table, с использованием saveAsTable () без снижения производительности?

Честно говоря, я хотел бы сообщить о журнале counts, или лучше всего было бы получить счетчики до вставки и после вставки, так как это была бы действительно полезная информация в Splunk Dashboard, но я не хочу добавлять запросы куста, которые могут значительно повредить производительности, поскольку у меня более 100 преобразований.

Заранее спасибо за помощь!

1 Ответ

0 голосов
/ 05 августа 2020

set hive.stats.autogather=false; - для вновь созданных таблиц и / или разделов (которые заполняются с помощью команды INSERT OVERWRITE) статистика по умолчанию вычисляется автоматически. Пользователь должен явно установить для логической переменной hive.stats.autogather значение false, чтобы статистика не вычислялась автоматически и не сохранялась в Hive MetaStore.

Статистика на уровне таблицы,

spark.sql("ANALYZE TABLE tableName COMPUTE STATISTICS").show()

, что приводит к

parameters:{totalSize=0, numRows=0, rawDataSize=0...```

Статистика уровня раздела таблицы:

spark.sql("ANALYZE TABLE Table1 PARTITION(ds, hr) COMPUTE STATISTICS").show()

Примечание. Когда пользователь вводит эту команду, он может или не может укажите спецификации раздела. Если пользователь не указывает спецификации разделов, статистика собирается для таблицы, а также для всех разделов (если есть).

Статистика уровня столбца таблицы:

spark.sql("ANALYZE TABLE Table1 PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS").show()

вы можете получить более подробную информацию: https://cwiki.apache.org/confluence/display/Hive/StatsDev#StatsDev -ExistingTables% E2% 80% 93ANALYZE

...