1

Flume-ng(1.2) を使用して、フラットファイル (ログファイル) から Hbase にデータをロードしようとしています。フラット ファイルには複数の列があり、それぞれがコロン (:) で区切られています。それらはすべて HBASE の個別の列にロードする必要があります。この問題を解決するために Apache からの jar があることがわかったフォーラムをチェックしていました (org.apache.flume.sink.hbase.RegexHbaseEventSerializer) が、構成ファイルやインターネットでの使用法を見つけることができません。誰かが構成ファイルで私を助けることができれば、それは役に立ちます

フラットファイルの内容 1:nn 2:pp 3:mm

ありがとう

4

1 に答える 1

1

RegexHbaseEventSerializer設定できる 3 つの構成パラメーターがあります (ソース コードで説明されています)。これらは:

/** Regular expression used to parse groups from event data. */
public static final String REGEX_CONFIG = "regex";

/** Whether to ignore case when performing regex matches. */
public static final String IGNORE_CASE_CONFIG = "regexIgnoreCase";

/** Comma separated list of column names to place matching groups in. */
public static final String COL_NAME_CONFIG = "colNames";

を使用したサンプル構成は次のようになります ( Cloudera の Flume および HBase プレゼンテーションRegexHbaseEventSerializerから部分的に引用):

host1.sources = src1
host1.sinks = sink1
host1.channels = ch1

host1.sources.src1.type = seq
host1.sources.src1.port = 25001
host1.sources.src1.bind = localhost
host1.sources.src1.channels = ch1

host1.sinks.sink1.type = org.apache.flume.sink.hbase.HBaseSink
host1.sinks.sink1.channel = ch1
host1.sinks.sink1.table = test3
host1.sinks.sink1.columnFamily = testing

host1.sinks.sink1.serializer = org.apache.flume.sink.hbase.RegexHbaseEventSerializer
host1.sinks.sink1.serializer.regex = X
host1.sinks.sink1.serializer.regexIgnoreCase = true
host1.sinks.sink1.serializer.colNames = column_1,column_2,column_3

host1.channels.ch1.type=memory10 
于 2012-09-09T10:25:59.970 に答える