gpt4 book ai didi

java - Hbase 使用 importTsv 导入 ^A (CTRL A) 分隔文件

转载 作者:行者123 更新时间:2023-12-01 12:51:33 27 4
gpt4 key购买 nike

我有一个纯文本文件,行由“\n”分隔,列由“^A”分隔,这是一个非打印字符。我需要将此文件加载到 HBase,我遇到了 importtsv 工具,它似乎可以满足我的需要。

到目前为止,我做了一些研究并得出结论:

hbase org.apache.hadoop.hbase.mapreduce.ImportTsv \
-Dimporttsv.columns=col1,col2,col3 \
-Dimporttsv.skip.bad.lines=true \
'-Dimporttsv.separator=|' \
-Dmapred.job.name=job_name \
user_action_log \
/data2/result

但是,我不知道如何将控件A传递给'-Dimporttsv.separator=|',我看了一下这个ImportTsv的源代码here

enter image description here

我对 Java 的了解还不足以弄清楚这一点,想知道了解 Java 的人是否可以帮助我将控件 A 从命令行传递到 Java 类?

谢谢

最佳答案

bash , kshzsh ,您可以使用 $'\x01' 传递 Ctrl-A 字符:

hbase org.apache.hadoop.hbase.mapreduce.ImportTsv \
-Dimporttsv.columns=col1,col2,col3 \
-Dimporttsv.skip.bad.lines=true \
-Dimporttsv.separator=$'\x01' \
-Dmapred.job.name=job_name \
user_action_log \
/data2/result

对于 posix sh ,您可以改为使用 $(printf "\x01") .

关于java - Hbase 使用 importTsv 导入 ^A (CTRL A) 分隔文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24189136/

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