Я хочу иметь внешнюю таблицу Partitioned Hive, чтобы только данные внешнего процесса искры записывали в нее данные (не обращайте внимания на эту программу Spark, поскольку вопрос не об этой программе Spark).Теперь я хочу убедиться, что я выполняю правильные шаги для размещения такой настройки:
- Создайте внешнюю таблицу с местоположением, являющимся папкой, в которую пишет программа spark.
Пусть программа Spark запишет в эту папку и удостоверится, что данные записаны правильно и разбиты на разделы.
- Каждый раз, когда программа Spark выполняет запись в папку, затем выполняйте следующую команду, чтобы убедиться, что Hive знает о новых данных:
msck repair table myTable
Теперь у меня следующие вопросы:
- Правильны ли вышеуказанные шаги?
- Каковы требования для записи данных в эту папку?Например, порядок столбцов в определении таблицы и порядок записи столбцов Spark должны быть одинаковыми?Обратите внимание, что данные записываются с включенными заголовками.
- Требуется ли запускать таблицу восстановления msck myTable каждый раз, когда Spark записывает новые данные в папку, или это необходимо, только если создаются новые разделы?