【HBase分布式数据库】第七章 数据的导入导出 importtsv导入数据

第七章 数据的导入导出

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

相关推荐
这个DBA有点耶4 分钟前
主从切换报成功,业务却写不进去——数据层脑裂与应用层连接残留的两类假成功
数据库·架构·dba
qq_452396234 分钟前
第八篇:《VACUUM、自动清理与膨胀治理》
jvm·数据库·oracle
SelectDB技术团队14 分钟前
ClickHouse 支持存算分离吗?Doris 社区版原生存算分离怎么落地
数据库·clickhouse·云原生·开源·apache doris·技术选型·存算分层
DBA_G20 分钟前
南大通用GBase 8a数据库可视化灾备解决工具GVR
数据库
JJJennie7771 小时前
MAI Gateway实战部署:大模型网关部署方案?从0到1上手指南
数据库·人工智能·gateway·ai网关
吹什么轩1 小时前
MySQL 内连接与外连接:从笛卡尔积到 LEFT JOIN,一篇讲透
数据库·mysql
涛思数据(TDengine)1 小时前
支撑药企全球化合规:TDengine 发布中美欧三地监管对照白皮书
大数据·数据库·人工智能·ai·tdengine
李兆龙的博客1 小时前
从一到无穷大 #106:Nimble 文件格式——超宽表的元数据、编码与索引设计
数据库·存储·parquet
boy快快长大1 小时前
MySQL 转 PostgreSQL 使用指南
数据库·mysql·postgresql
晴天¥1 小时前
Oracle集群中是该如何管理控制文件和日志文件组?
数据库·oracle