Как мне записать данные hbase в HDFS в виде текста - PullRequest
0 голосов
/ 25 марта 2020

В HBASE уже есть 300 000 фрагментов данных того дня, как записать данные в HBASE в формате TXT, и каждый файл TXT соответствует данным дня, например: 2020.03.25 / high.TXT ( High - название таблицы) *

1 Ответ

0 голосов
/ 25 марта 2020

Вы можете экспортировать HBase в HDFS, используя утилиту, поставляемую с HBase (используя команду hbase):

hbase org.apache.hadoop.hbase.mapreduce.Export high /path/in/hdfs

Это экспортирует все таблицу данных в файл CSV. в HDFS. Итак, если вы определите, что ваши данные hbase содержат данные за 1 день (с помощью свойства ttl), вы получите желаемые результаты.

Если ваша таблица hbase содержит предыдущие данные, то вы можете использовать следующую команду данные по диапазону временных отметок:

echo "scan 'high',{ TIMERANGE => [start_timestamp, end_timestamp] }" | hbase shell | grep "^ " > high.txt
hdfs dfs -put high.txt /path/in/hdfs

start_timestamp и end_timestamp должны быть определены как вы sh (за последние 1 день просто установите их как начало и конец дня) , Обратите внимание, что сначала он генерирует файл high.txt в локальной файловой системе, поэтому используйте его, когда у вас достаточно места (или файл high не содержит слишком много данных за один день).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...