1. 当需要 从Mysql的某个数据表中,导出其中的几列到文本,并且以一定的格式,则用以下命令:
SELECT concat(itemid,'-',clock*1000,',',value) result from history where clock>=1539155100 and clock<1539325020 into OUTFILE '/tmp/b.out';
第一个红色的部分,是数据库表的列名字,第二个是clock这个列和时间戳,第三个部分,是指保存到/tmp路径下的b.out文件。
所以最后文本中的内容是 “itemid值-clock值的1000倍,value值” 的格式
2. 如果之后需要接着将此数据文本存入hbase,那么有以下步骤:
(1)登录hbase所在的机器(主机器),执行命令,拷贝 mysql数据库所在机器上的b.out文件:
scp -r root@远程机器IP://tmp/b.out /hbase-input/b.out
(2)进入到hbase路径,即命令: /usr/local/software/hbase-0.98.5-hadoop2/bin ,接着执行:
./hbase org.apache.hadoop.hbase.mapreduce.ImportTsv -Dimporttsv.separator="," -Dimporttsv.columns=HBASE_ROW_KEY,cf:q history_uint hdfs://ns1/hbase-input/b.out