Я работаю над конвейером данных IOT и каждую секунду получаю сообщения с нескольких устройств в базу данных postgres.Postgres будет иметь данные только в течение двух дней, а через два дня данные будут сбрасываться, чтобы каждый раз появлялись данные за последние два дня.Теперь мне нужно было ежедневно архивировать данные из postgres в HDFS.У меня есть следующие параметры:
deviceid, timestamp, year, month, day, temperature, humidity
Я хочу ежедневно архивировать его в HDFS и запрашивать эти данные с помощью запроса улья.Для этого мне нужно создать внешнюю секционированную таблицу в Hive, используя deviceid, год и месяц в качестве разделов.Я пробовал следующие опции, но они не работают:
- Я пытался использовать sqoop для копирования данных, но он не может создавать динамические папки на основе различных идентификаторов устройств, года и месяца, чтобы внешняя таблица кустов моглавыберите разделы
- Использовал импорт sqoop с использованием атрибута
--hive-import
, чтобы данные могли быть скопированы непосредственно в таблицу кустов, но в этом случае они перезаписывают существующую таблицу, и я также не уверен, работает ли это для разделенной таблицы или нет
Пожалуйста, предложите несколько решений для архивирования.
Примечание. Я использую службы Azure, поэтому открыт вариант для фабрики данных Azure.