В настоящее время я пытаюсь найти способ автоматического добавления данных из текстовых файлов Hadoop в elasticsearch. Мы запускаем HIVE v0.11, Hadoop v2.0.5, Elasticsearch 1.7.1 и elasticsearch-hadoop v2.1.0 Файлы хранятся в разных подпапках ниже пути/tmp/test-log/apache2log с именем year/month/day Это создание таблиц работает в приобретают данные из Hadoop:Автоматическая вставка из Hive в Elasticsearch
CREATE EXTERNAL TABLE apache2log(
userIP STRING,
identity STRING,
user STRING,
time STRING,
request STRING,
status STRING,
thread STRING,
link STRING,
callerInformation STRING)
ROW FORMAT DELIMITED FIELDS TERMINATED by '|'
LOCATION '/tmp/test-log/apache2log';
но когда я пытаюсь создать таблицу, которая вставляет эти данные в elasticsearch, создание отлично работает, но таблица пуста. Я попробовал следующую команду:
CREATE EXTERNAL TABLE apache2log(
userIP STRING,
identity STRING,
user STRING,
time STRING,
request STRING,
status STRING,
thread STRING,
link STRING,
callerInformation STRING)
ROW FORMAT DELIMITED FIELDS TERMINATED by '|'
STORED BY 'org.elasticsearch.hadoop.hive.EsStorageHandler'
LOCATION '/tmp/test-log/apache2log'
TBLPROPERTIES(
'es.nodes'='1.2.3.4',
'es.resource'='sam3/apache2',
'es.net.proxy.http.use.system.props'='false');
переменные, которые изменены с Defaultsetting:
SET hive.input.dir.recursive=true;
SET hive.mapred.supports.subdirectories = true;
SET hive.supports.subdirectories=true;
SET mapred.input.dir.recursive = true;
SET hive.input.format=org.apache.hadoop.hive.ql.io.HiveInputFormat;
ADD JAR /usr/lib/gphd/hive-0.11.0_gphd_2_1_1_0/lib/elasticsearch-hadoop-2.1.0.jar;
Я знаю, там было бы возможность создать вторую таблицу для elasticsearch и добавления данных с помощью INSERT. Но мне нужно, чтобы процесс был автоматизирован, поэтому данные, добавляемые к файлам, должны быть вставлены в таблицу, когда он придет в аддоп.
Это не дает ответа на вопрос. Чтобы критиковать или запросить разъяснения у автора, оставьте комментарий ниже своего сообщения - вы всегда можете прокомментировать свои собственные сообщения, и как только у вас будет достаточно [репутации] (http://stackoverflow.com/help/whats-reputation), вы будете быть в состоянии [прокомментировать любое сообщение] (http://stackoverflow.com/help/privileges/comment). - [Из обзора] (/ review/low-quality-posts/10333652) –
@ebramtharwat Отрицательный ответ * есть * ответ. –