phoenix hbase java_spark通过phoenix读写hbase(Java版)
pom.xml
org.apache.spark
spark-sql_2.11
2.2.1
org.apache.phoenix
phoenix-core
4.13.1-HBase-1.2
org.apache.phoenix
phoenix-spark
4.13.1-HBase-1.2
joda-time
joda-time
2.9.9
调用示例
public class Test {
/**
* phoenix jdbc config
*/
private static final String DB_PHOENIX_DRIVER = "org.apache.phoenix.jdbc.PhoenixDriver";
private static final String DB_PHOENIX_URL = "jdbc:phoenix:hadoop101,hadoop102,hadoop103";
private static final String DB_PHOENIX_USER = "";
private static final String DB_PHOENIX_PASS = "";
private static final String DB_PHOENIX_FETCHSIZE = "10000";
/**
* 加载数据查询SQL
*/
private static final String SQL_QUERY = "(SELECT date,member_id FROM events WHERE time>='%s' AND time rows = sparkSession
.read()
.jdbc(DB_PHOENIX_URL, query, connProp)
.filter("member_id != -1")
.javaRDD()
.mapToPair(r -> new Tuple2<>(
r.getString(0)
, r.getLong(1)
))
.distinct()
.groupByKey()
.map(r -> {
StringBuffer sb = new StringBuffer();
r._2.forEach(v -> {
sb.append(v);
});
return RowFactory.create(r._1, sb.toString());
});
// schema
Listfields = new ArrayList<>();
fields.add(DataTypes.createStructField("date", DataTypes.StringType, false));
fields.add(DataTypes.createStructField("dist_mem", DataTypes.StringType, true));
StructType schema = DataTypes.createStructType(fields);
// 写入
String insertTable = "test_string";
sparkSession
.createDataFrame(rows, schema)
.write()
.format("org.apache.phoenix.spark")
.mode(SaveMode.Overwrite)
.option("table", insertTable)
.option("zkUrl", DB_PHOENIX_URL)
.save();
} catch (Exception e) {
e.printStackTrace();
}
}
}
调用:
public class App {
@Test
public void testJob() {
String[] args = new String[]{"2017-06-01", "2017-07-01"};
Test.main(args);
}
}
phoenix hbase java_spark通过phoenix读写hbase(Java版)相关推荐
- spark sql hbase java_Spark 读写 HBase 的两种方式(RDD、DataFrame)
使用 saveAsHadoopDataset 写入数据 import org.apache.hadoop.hbase.{HBaseConfiguration, HTableDescriptor, Ta ...
- Apache Phoenix学习记录(SQL on HBase)
1 使用概述 Phoenix是基于HBase的SQL中间件产品,由Salesforce.com公司开源并托管于Github上.对于熟悉关系型数据库的开发人员来说,通过Phoenix可以像使用MySQL ...
- Hbase索引( Phoenix二级索引)
Hbase索引( Phoenix二级索引) 1. Phoenix简介 1.1.Phoenix安装 1.2.常用命令 1.3.phoenix表映射 1.3.1.视图映射 1.3.2.表映射 1.3.3. ...
- Spark读写HBase:处理纽约出租车数据
一.数据及部分代码来源: 解析geojson数据:https://github.com/jwills/geojson 纽约出租车数据:http://www.andresmh.com/nyctaxitr ...
- Spark读写Hbase的二种方式对比
作者:Syn良子 出处:http://www.cnblogs.com/cssdongl 转载请注明出处 一.传统方式 这种方式就是常用的TableInputFormat和TableOutputForm ...
- Spark读写HBase(主要讲解SHC的使用)
前言 Spark读写HBase本身来说是没啥可以讲的,最早之前都是基于RDD的,网上的资料就太多了,可以参考: 参考链接1 参考链接2 其实都一样,后来有了Hortonworks公司的研发人员研发了一 ...
- HBase详解(对hbase集群搭建、读写流程、hbase的javaApi等细致入微的讲解与保姆级的图解)
学HBase的意义是什么 我本想用MySQL来与HBase作比较,但发现他们两者毫无可比性,因为两者运用领域不同,各自有各自的优点,就好比爬山穿登山鞋,潜水穿脚蹼一般. 一门技术的兴起,一个优秀的开源 ...
- hbase 单机 java api,HBase学习(一)hbase安装(单机模式)和javaapi客户端访问hbase例子...
平时习惯了window下开发,而Hbase只能在linux环境下运行,所以决定把hbase安装一台虚拟机上,在windows下运行eclipse连接虚拟机里的hbase 因为对linux命令了解不多, ...
- HBase总结(十一)hbase Java API 介绍及使用示例
几个相关类与HBase数据模型之间的对应关系 java类 HBase数据模型 HBaseAdmin 数据库(DataBase) HBaseConfiguration HTable 表(Table) H ...
- HBase总结(十二)Java API 与HBase交互实例
HBase提供了Java Api的访问接口,掌握这个就跟Java应用使用RDBMS时需要JDBC一样重要 [html] view plaincopy import java.io.IOExceptio ...
最新文章
- 3d 自动生成物体_Adobe发布3D建模、AR内容生成应用Scantastic
- Cell Reports | 佩戴假肢后,真的能产生正确位置的触觉感吗?研究人员表示并不能...
- 高级会计师资格考试成绩合格证在全国范围内几年有效
- 吃下去的东西老是往上翻上来_这间日日火爆的面馆,当年海藻带宋思明吃过
- python处理txt文件_python处理txt文件
- 2012-01-17-05
- 冒烟的意思_冒烟测试是什么?
- Debian 决定允许无记名投票,候选人Felix Lechner质疑
- jersey REST的接口简述
- 联合国devnet_联合国人权可能会适用于人工智能,如果是这样,考虑一下自动驾驶汽车的奇怪案例
- 昌乐博闻学校2021年高考成绩查询,2021高考难度升级吗?两点忠告送给高考生
- 计算机系统具有运行可靠性,计算机系统的可靠性技术
- 台式计算机图形设置,如何打开计算机图形设置以提高游戏质量?
- Jetpack-MVVM-高频提问和解答,附带学习经验
- [INSTALL_FAILED_ALREADY_EXISTS]
- 2017年值得一看的7个APP设计
- CMS与前端页面SSI技术
- anytime you feel the pain,hey,dear,refrain
- 毕业时候写的一个PE解析小工具(MFC源码)
- matlab如何分类汇总,excel表格按照数据作图-excel怎么按分类汇总后的汇总数据绘制图表...
热门文章
- bootstrap-table分页插件使用
- 程序员编程艺术:第五章、寻找满足条件的两个或多个数
- 11.Kong入门与实战 基于Nginx和OpenResty的云原生微服务网关 --- 自定义插件
- 3.啊哈!算法 --- 一大波数正在靠近——枚举!很暴力
- 3.第一本 docker 书 --- docker 网络
- 6.Swoole WebSocket
- 6. 隐藏 index.php
- 6. jQuery 效果 - 淡入淡出
- 15. JavaScript Array(数组)对象
- 计算机中的bit byte(B) mb gb 的关系