gpt4 book ai didi

mysql - 在 hbase 中使用 enclosed by

转载 作者:可可西里 更新时间:2023-11-01 16:50:50 25 4
gpt4 key购买 nike

我有 tsv 形式的数据,我想将它插入到 hbase 中,问题是每个字段都用“'”(单引号)括起来。

如何在导入命令中提供它:

hbase org.apache.hadoop.hbase.mapreduce.ImportTsv -Dimporttsv.bulk.output=output1 -Dimporttsv.columns=HBASE_ROW_KEY,data:employee_id,data:employee_name,data:designation,data:telephone_number,data:artist_mbid, employees /emp

我发现 hbase 可用的选项有:在 https://hbase.apache.org/book.html

importtsv
Other options that may be specified with -D include:
-Dimporttsv.skip.bad.lines=false - fail if encountering an invalid line
'-Dimporttsv.separator=|' - eg separate on pipes instead of tabs
-Dimporttsv.timestamp=currentTimeAsLong - use the specified timestamp for the import
-Dimporttsv.mapper.class=my.Mapper - A user-defined Mapper to use instead of org.apache.hadoop.hbase.mapreduce.TsvImporterMapper

I am searching something like equivalent of mysql's command: LOAD DATA INFILE 'output' INTO TABLE employee FIELDS TERMINATED BY '\t' OPTIONALLY ENCLOSED BY '"' LINES TERMINATED BY '\n'

最佳答案

我假设你的数据如下

'值1' '值2' '值3'

因此,我没有使用制表符作为分隔符,而是使用 (' ') 进行了测试。单引号、制表符、使用 -Dimporttsv.separator 的单引号。但这不起作用,因为 ImportTsv 将接受单字节长度的分隔符。

看起来,根据文档,您需要使用类似于 ImportTsv 的 -Dimporttsv.mapper.class 来实现您自己的映射器,并根据您的需要进行调整。参见 here了解 ImportTsv 的基本概念。

毕竟,您正在运行 map reduce,所以您不会失去延迟

关于mysql - 在 hbase 中使用 enclosed by,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33397431/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com