Phoenix(十三)Phoenix使用MapReduce加载大批量数据
来源:互联网 发布:淘宝店铺运营教程视频 编辑:程序博客网 时间:2024/06/07 06:28
1. 说明
在实际应用场景中可以会有一些格式比较规整的数据文件需要导入到HBase,Phoenix提供了两种方法来加载CSV格式的文件phoenix的数据表。一种是使用单线程的psql工具进行小批量数据加载的方式,一种是使用MapReduce作业来处理大批量数据的方式。第一种方式比较简单这里就不介绍了,想了解的可以参考官方文档。
http://phoenix.apache.org/bulk_dataload.html
2. 创建表
在phoenix的CLI界面创建user表。
> create table user (id varchar primary key,account varchar ,passwd varchar);
3. 添加测试数据
在【PHOENIX_HOME】目录下创建data_import.txt,内容如下:
001,google,AM
002,baidu,BJ
003,alibaba,HZ
4. 执行MapReduce
在【PHOENIX_HOME】目录下执行MR作业(命令的使用跟Phoenix的版本有关)。
$ HADOOP_CLASSPATH=/usr/local/cdh-5.2.0/hbase-0.98.6/lib/hbase-protocol-0.98.6-cdh5.2.0.jar:/usr/local/cdh-5.2.0/hbase-0.98.6/conf hadoop jar phoenix-4.2.2-client.jar org.apache.phoenix.mapreduce.CsvBulkLoadTool -t user -i file:///usr/local/cdh-5.2.0/phoenix-4.2.2/data_import.txt -z 192.168.187.128,192.168.187.129,192.168.187.130:2181
参数含义如下表:
高能预警:hbase-protocol-0.98.6-cdh5.2.0.jar这个jar包是与HBase的版本有关的,如果是其他版本的HBase请自行替换。
数据文件的路径会默认读取HDFS的文件,这里强制添加前缀file:///指定为本地文件路径了,但是MR执行的过程中还是报错了说找不到文件路径:
Error: java.io.FileNotFoundException: File file:/usr/local/cdh-5.2.0/phoenix-4.2.2/data_import.txt does not exist
at org.apache.hadoop.fs.RawLocalFileSystem.deprecatedGetFileStatus(RawLocalFileSystem.java:524)
at org.apache.hadoop.fs.RawLocalFileSystem.getFileLinkStatusInternal(RawLocalFileSystem.java:737)
at org.apache.hadoop.fs.RawLocalFileSystem.getFileStatus(RawLocalFileSystem.java:514)
at org.apache.hadoop.fs.FilterFileSystem.getFileStatus(FilterFileSystem.java:398)
at org.apache.hadoop.fs.ChecksumFileSystem$ChecksumFSInputChecker.(ChecksumFileSystem.java:140)
但是最后数据却被成功加载到phoenix中。
最终将测试数据data_import.txt放到了HDFS的/phoenix/test/目录下,使用如下命令执行后全程无任何报错。
al/cdh-5.2.0/hbase-0.98.6/conf hadoop jar phoenix-4.2.2-client.jar org.apache.phoenix.mapreduce.CsvBulkLoadTool -t user -i /phoenix/test/data_import.txt -z 192.168.187.128,192.168.187.129,192.168.187.130:2181
该作业会被提交到YARN由ResourceManager进行资源分配
- Phoenix(十三)Phoenix使用MapReduce加载大批量数据
- phoenix
- Phoenix
- phoenix
- phoenix使用
- Phoenix基本使用(HBase)
- Phoenix(六)配置使用Squirrel GUI连接Phoenix
- Phoenix通过MapReduce对HBase批量导入数据
- Phoenix(五)JDBC 无法添加数据
- 大数据(三十三)HBASE【Phoenix】
- Phoenix jdbc 插入数据
- hbase phoenix 插入数据
- Stanford大学的Phoenix系统(单机多核MapReduce应用)
- Phoenix使用记录-1
- phoenix客户端API使用
- Phoenix使用总结
- Phoenix+HBase使用心得
- Phoenix+HBase使用心得
- 磁盘文件目录罗列和list控件的使用
- poj3463(次短路)
- 日期的几个Format格式
- Codevs 1378 选课
- Linux 通过 ulimit 控制socket的最大打数量
- Phoenix(十三)Phoenix使用MapReduce加载大批量数据
- android5.0系统设置搜索功能简析
- 接口测试
- 黑马程序员--装饰设计模式和动态代理
- SqlServer索引及优化详解
- android开发中遇到的问题
- 转换表的引擎
- android代码中打开系统设置界面
- Android学习 - Android断点续传核心代码