Вставить в таблицу Impala против записи в HDFS

У меня около 10 тысяч записей (хранится как ArrayList в Java). Я хочу вставить эти записи в Impala.

Должен ли я использовать insert into table partition values напрямую вставить импале. (Я не уверен, сколько записей можно вставить в один оператор SQL).

Или я должен записать эти записи в HDFS тогда alter impala Таблица?

Какой способ предпочтительнее? Или есть другие решения?

А также, если я делаю это каждые 5 минут, как я могу избежать так много маленьких файлов в одном разделе (разделены по часам)? Это даст 12 маленьких файлов в каждом разделе, так что это повлияет на скорость запроса?

1 ответ

Решение

Лучшее, что вы можете сделать, это сделать:

  1. Создайте свою таблицу в Impala как внешнюю таблицу, связанную с маршрутом HDFS.
  2. Делать вставки напрямую в HDFS, если возможно ежедневно, в час, наверное, мало
  3. Выполните недействительную команду metada $ TABLE_NAME, чтобы данные были видны

Я надеюсь, что ответ служит вам

С уважением!

Другие вопросы по тегам