第七章 数据的导入导出
7.1 importtsv导入数据
任务目的
掌握导入tsv数据的方法
掌握导入csv数据的方法
任务清单
任务1:导入tsv数据
任务2:导入csv数据
任务步骤
任务1:导入tsv数据
1、创建测试表
进入hbase的shell环境,创建测试命名空间ns和测试表table_tsv。
shell
bin/hbase shell
create_namespace 'ns'
create 'ns:table_tsv','info','more'
8.1-1
2、查看准备的测试数据
在hbase主目录下的testdata目录下,已备好了测试数据,了解该数据。
shell
cat testdata/tsvdata.txt
8.1-2
3、上传数据到HDFS
HDFS上创建目录,把测试数据上传到该目录并查看。
shell
hadoop fs -mkdir -p /data/input
hadoop fs -put testdata/tsvdata.txt /data/input
hadoop fs -cat /data/input/tsvdata.txt
8.1-3
4、查看如何导入
通过如下指令查看导入的帮助说明。
shell
hadoop jar $HBASE_HOME/lib/hbase-server-1.4.10.jar
8.1-4
5、继续查看
选择importtsv ,继续查看下一步。
shell
hadoop jar $HBASE_HOME/lib/hbase-server-1.4.10.jar importtsv
8.1-5
6、书写语句
按照格式书写语句。Dimporttsv.columns=rowkey,列族:列名,列族:列名... 分别对应输入数据按照 \t 分割的数据。并等待MR执行完毕。
shell
hadoop jar $HBASE_HOME/lib/hbase-server-1.4.10.jar importtsv
-Dimporttsv.columns=HBASE_ROW_KEY,info:name,more:location,more:age
ns:table_tsv /data/input/tsvdata.txt
7、查看数据
重新进入shell环境,查看数据。
shell
bin/hbase shell
scan 'ns:table_tsv'
8.1-6
任务2:导入csv数据
1、创建测试表
创建测试表table_csv。
shell
create 'ns:table_csv','info','more'
8.1-7
2、查看准备的测试数据
shell
cat testdata/csvdata.txt
8.1-8
3、上传数据到HDFS
shell
hadoop fs -put testdata/csvdata.txt /data/input
8.1-9
4、导入数据
使用importtsv导入数据。此处需要添加分隔符的语法。
shell
hadoop jar $HBASE_HOME/lib/hbase-server-1.4.10.jar importtsv
-Dimporttsv.separator=','
-Dimporttsv.columns=HBASE_ROW_KEY,info:name,more:location,more:age
ns:table_csv /data/input/csvdata.txt
5、查看数据
进入shell环境,查看数据。
shell
scan 'ns:table_csv'
8.1-10