Sqoop--hbase行键选项是否支持多列组合
我正在使用sqoop将mysql表导入HBase。通常,HBase的行键不仅仅由一列组成,它通常是两列或三列+时间戳的组合,例如,Sqoop--hbase行键选项是否支持多列组合,hbase,sqoop,Hbase,Sqoop,我正在使用sqoop将mysql表导入HBase。通常,HBase的行键不仅仅由一列组成,它通常是两列或三列+时间戳的组合,例如,row key=${col1}${col2}${timestamp} 我无法使用sqoop使其工作,只是想知道sqoop--hbase row key是否允许我在导入过程中执行类似于--hbase row key=col1、col2、tiemstamp的操作,然后我的hbase row key将以三个字段组合结束?我自己找到了答案: sqoop 1.4.4中添加了复合
row key=${col1}${col2}${timestamp}
我无法使用sqoop使其工作,只是想知道sqoop--hbase row key是否允许我在导入过程中执行类似于
--hbase row key=col1、col2、tiemstamp
的操作,然后我的hbase row key将以三个字段组合结束?我自己找到了答案:
sqoop 1.4.4中添加了复合键:
是否将组合键与分隔符组合,例如:
row key = col1_col2_col3
此命令似乎将复合密钥导入hbase
sqoop \
import --verbose \
--connect "yourDatabase" \
--username yourUser \
--password-file yourPassword.password \
--table originTable \
--hbase-create-table \
--hbase-table destinationTable \
--column-family yourFamily \
--hbase-row-key keyExample1,keyExample2
然而,在我看来,这个命令有两个问题。
正如一些人指出的那样,新的键列只是一个带有下划线的串联,作为定义的--hbase行键的分隔。
此外,从导入的数据中删除指定为行键的原始列,并在新表中插入复合键 那么,你能把答案写在这里吗?你用什么命令来使用复合键?现在已经很晚了,但对其他人可能还是有帮助的。您应该将--hbase行键“KEY1,KEY2”与sqoop import命令一起使用。