Apche pig计算数据 导入Hbase

1.pig将数据导入或加载到hbase使用HBaseStorage UDF函数,地址:
http://pig.apache.org/docs/r0.11.0/func.html#HBaseStorage

在shell中案例:

pig -Dpig.additional.jars=/home/pps_recommend/pig-0.11.0/lib/protobuf-java-2.4.0a.jar -x $varPigMode << EOF
           recommend_data = LOAD ‘$recommend_output‘ as(id:chararray,items:chararray);
          STORE recommend_data INTO ‘hbase://short_video_recommend‘ USING org.apache.pig.backend.hadoop.hbase.HBaseStorage(‘info:items‘);
     EOF

(提示:EOF是将其他应用程序在shell中输出,切记:特别在shell中有if判断语句 EOF要顶格写)

2.   
STORE [加载pig数据集别名] INTO ‘hbase://[HBASE表名]‘ USING org.apache.pig.backend.hadoop.hbase.HBaseStorage(‘[HBASE列簇]:PIG字段名‘);

3.注意:

1.在伪分布式下启动,在zookeeper,hbase正常启动情况下可以导入,

2.正式环境下配置:

2.1在 $PIG_HOME/conf/pig.properties加入:

# -----------------------------------------------------------------------------------------------------------------------------------------

#pig.load.default.statements=

hbase.zookeeper.quorum=10.11.8.161,10.11.8.162,10.11.8.163,10.11.8.164,10.11.8.165,10.11.8.166,10.11.8.167

hbase.master.info.bindAddress=10.11.5.222

hbase.master.port=60000

# --------------------------------------------------------------------------------------------------------------------------------------------

#hbase.zookeeper.quorum= zookeeper集群地址

#hbase.master.info.bindAddress=hbase master地址

#hbase.master.port=hbase master端口

2.2 在$PIG_HOME/lib复制3个包:

protobuf-java-2.4.0a.jar

hbase-0.94.1.jar

zookeeper-3.4.3.jar

这个几个包可以从$HBASE_HOME/lib 和 $HBASE_HOME目下获取

时间: 2024-08-07 08:26:44

Apche pig计算数据 导入Hbase的相关文章

数据导入HBase最常用的三种方式及实践分析

数据导入HBase最常用的三种方式及实践分析         摘要:要使用Hadoop,需要将现有的各种类型的数据库或数据文件中的数据导入HBase.一般而言,有三种常见方式:使用HBase的API中的Put方法,使用HBase 的bulk load工具和使用定制的MapReduce Job方式.本文均有详细描述. [编者按]要使用Hadoop,数据合并至关重要,HBase应用甚广.一般而言,需要 针对不同情景模式将现有的各种类型的数据库或数据文件中的数据转入至HBase 中.常见方式为:使用H

利用BulkLoad导入Hbase表

1.插入HBase表传统方法具有什么问题? 我们先看下 HBase 的写流程: 通常 MapReduce 在写HBase时使用的是TableOutputFormat方式,在map/reduce中直接生成put对象写入HBase,该方式在大量数据写入时效率低下,因为HBase会block写入,频繁进行flush.split.compact等大量IO操作,这样对HBase节点的稳定性也会造成一定的影响,例如GC时间过长,响应变慢,导致节点超时退出,并引起一系列连锁反应,而HBase支持BulkLoa

【甘道夫】通过bulk load将HDFS上的数据导入HBase

引言 通过bulkload将HDFS上的数据装载进HBase是常用的入门级HBase技能,下面简单记录下关键步骤. bulkload的详细情况请参见官网文档. 过程 第一步:每台机器执行 ln -s $HBASE_HOME/conf/hbase-site.xml $HADOOP_HOME/etc/hadoop/hbase-site.xml 第二步:编辑$HADOOP_HOME/etc/hadoop/hadoop-env.sh,拷贝到所有节点 末尾添加: export HADOOP_CLASSPA

MapReduce生成HFile文件,再使用BulkLoad导入HBase中(完全分布式运行)

声明: 若要转载, 请标明出处. 前提: 在对于大量的数据导入到HBase中, 如果一条一条进行插入, 则太耗时了, 所以可以先采用MapReduce生成HFile文件, 然后使用BulkLoad导入HBase中. 引用: 一.这种方式有很多的优点: 1. 如果我们一次性入库hbase巨量数据,处理速度慢不说,还特别占用Region资源, 一个比较高效便捷的方法就是使用 "Bulk Loading"方法,即HBase提供的HFileOutputFormat类. 2. 它是利用hbase

使用sqoop将MySQL数据库中的数据导入Hbase

使用sqoop将MySQL数据库中的数据导入Hbase 前提:安装好 sqoop.hbase. 下载jbdc驱动:mysql-connector-java-5.1.10.jar 将 mysql-connector-java-5.1.10.jar 拷贝到 /usr/lib/sqoop/lib/ 下 MySQL导入HBase命令: sqoop import --connect jdbc:mysql://10.10.97.116:3306/rsearch --table researchers --h

Sqoop将mysql数据导入hbase的血与泪

Sqoop将mysql数据导入hbase的血与泪(整整搞了大半天)  版权声明:本文为yunshuxueyuan原创文章.如需转载请标明出处: https://my.oschina.net/yunshuxueyuan/blogQQ技术交流群:299142667 一. 问题如何产生 庞老师只讲解了mysql和hdfs,mysq与hive的数据互导,因此决定研究一下将mysql数据直接导入hbase,这时出现了一系列问题. 心酸史: 二. 开始具体解决问题 需求:(将以下这张表数据导入mysql)

Hive 数据导入HBase的2中方法详解

最近经常被问到这个问题,所以简单写一下总结. Hive数据导入到HBase基本有2个方案: 1.HBase中建表,然后Hive中建一个外部表,这样当Hive中写入数据后,HBase中也会同时更新 2.MapReduce读取Hive数据,然后写入(API或者Bulkload)到HBase 1.Hive 外部表 创建hbase表 (1) 建立一个表格classes具有1个列族user create 'classes','user' (2) 查看表的构造 hbase(main):005:0> desc

多种字符集并存情况下sqoop从MySQL导入HBase中文乱码解决

最近在做binlog日志采集同步到数据平台的事.刚开始需要借助sqoop将从库数据表数据初始化到hbase中,整个过程都需要自动化进行,尽量减少人为干预.但是,由于历史原因,线上存在两种字符集格式的数据库(表),而导入到hbase的数据我们需要统一采用utf-8格式存储.sqoop直接导入的话,没法控制中文字符转码工作.所以需要对sqoop源码进行简单改动支持这种方式. 大体思路是,通过定义一个接口可以从InformationSchema库的tables中获取某个表的table-collatio

数据批量导入HBase

测试数据: datas 1001 lilei 17 13800001111 1002 lily 16 13800001112 1003 lucy 16 13800001113 1004 meimei 16 13800001114 数据批量导入使用mr,先生成HFile文件然后在用completebulkload工具导入. 1.需要先在hbase 创建表名: hbase> create 'student', {NAME => 'info'} maven pom.xml配置文件如下: <de