分享

【已解决】有木有spark对hbase进行增删改的例子呀

高帝斯法则 发表于 2014-10-15 08:51:06 [显示全部楼层] 回帖奖励 阅读模式 关闭右栏 17 88645

已有(17)人评论

跳转到指定楼层
高帝斯法则 发表于 2015-1-13 10:19:28
haorengoodman 发表于 2015-1-13 09:24
撸主问题解决了,给贴出来一个java示例吧!!!
先感谢楼主啦

对于查询的例子网上都有,添加和删除的话主要是在foreach方法进行,以下是删除一行记录的核心代码:
context.parallelize(list).foreach(new VoidFunction<String>() {

                        private static final long serialVersionUID = 1L;
                        private HTable myTable;
                        @Override
                        public void call(String delStr) throws Exception {
                                Configuration conf = HBaseConfiguration.create();
                                String[] delA = delStr.split(",");
                                String tableName = delA[0];               
                                conf.set(TableOutputFormat.OUTPUT_TABLE, tableName);
                                myTable = new HTable(conf, tableName);
                               
                                Delete del = new Delete(Bytes.toBytes(delA[1]));
                                myTable.delete(del);
                       
                                myTable.close();
                        }
                });
回复

使用道具 举报

desehawk 发表于 2014-10-15 09:16:32
刚好有一个

spark使用java读取hbase数据做分布式计算

回复

使用道具 举报

高帝斯法则 发表于 2014-10-15 09:34:53
desehawk 发表于 2014-10-15 09:16
刚好有一个

spark使用java读取hbase数据做分布式计算

额。。。介个是读取hbase的例子吧,我已经试过啦,可是现在对增删改还木有头绪。求大大指点迷津
回复

使用道具 举报

howtodown 发表于 2014-10-15 10:50:09
高帝斯法则 发表于 2014-10-15 09:34
额。。。介个是读取hbase的例子吧,我已经试过啦,可是现在对增删改还木有头绪。求大大指点迷津
没有研究太深,不过建议楼主这样
读取是使用相关api,找到相关api就可以了。

spark  Java api应该有这方面的说明
回复

使用道具 举报

高帝斯法则 发表于 2014-10-15 11:06:23
howtodown 发表于 2014-10-15 10:50
没有研究太深,不过建议楼主这样
读取是使用相关api,找到相关api就可以了。

http://stackoverflow.com/questio ... irrdd-saveasnewapih
stackoverflow上也有人提出了这样的疑问,我也看到了这个API,可是感觉文档给的内容太少,而且spark examples关于hbase操作都是scala和python的代码,
对上述两种语言没有接触,感觉很困难,想找Java的例子,可是找不到,大神能帮我转换为Java版的么?
回复

使用道具 举报

howtodown 发表于 2014-10-15 13:23:17
高帝斯法则 发表于 2014-10-15 11:06
http://stackoverflow.com/questions/25932981/how-to-use-hfileoutputformat-class-of-hbase-with-spark ...

能否提供api网址,及操作api

如果官网有Java api,剩下的就是逻辑关系了。

个人建议:

最好学习下scala,scala是有可能超越Java的语言。以后也很有前途


《快学Scala》完整版书籍分享


spark的编程语言是Scala30文档分享


Scala编程(完整版)文档分享


scala eclipse sbt( Simple Build Tool) 应用程序开发


Scala编程中文版pdf文档分享

回复

使用道具 举报

高帝斯法则 发表于 2014-10-15 13:40:17
回复

使用道具 举报

高帝斯法则 发表于 2014-10-15 13:46:57
howtodown 发表于 2014-10-15 13:23
能否提供api网址,及操作api

如果官网有Java api,剩下的就是逻辑关系了。

spark1.1.1 API: http://spark.apache.org/docs/latest/api/java/index.html
我用的是spark1.0.2,但是木有找到在线的Java API,所以就看的spark1.1.1的API Doc,我理解的给HBASE写入数据的API也就是JavaPairRDD.saveAsNewAPIHadoopDataset,
跟stackoverflow那个提问的哥们理解的相似,但具体的怎么用还是不太明白。
回复

使用道具 举报

howtodown 发表于 2014-10-15 14:53:31
高帝斯法则 发表于 2014-10-15 13:46
spark1.1.1 API: http://spark.apache.org/docs/latest/api/java/index.html
我用的是spark1.0.2,但是 ...
你已经研究的很明白了。

saveAsNewAPIHadoopDataset(org.apache.hadoop.conf.Configuration conf)


对这个配置文件做一下修改:
Configuration conf = HBaseConfiguration.create();
//需要插入的hbase表名
String tableName = "usertable";
conf.set(TableInputFormat.INPUT_TABLE, tableName);


JavaPairRDD.saveAsNewAPIHadoopDataset(conf);

上面在调试调试,或则配置在改改,基本就完毕了
回复

使用道具 举报

高帝斯法则 发表于 2014-10-15 15:14:45
howtodown 发表于 2014-10-15 14:53
你已经研究的很明白了。

saveAsNewAPIHadoopDataset(org.apache.hadoop.conf.Configuration conf)

恩啊,目前对配置上还是不太清楚,我多试试吧,2Q
回复

使用道具 举报

12下一页
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条