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版)相关推荐

  1. spark sql hbase java_Spark 读写 HBase 的两种方式(RDD、DataFrame)

    使用 saveAsHadoopDataset 写入数据 import org.apache.hadoop.hbase.{HBaseConfiguration, HTableDescriptor, Ta ...

  2. Apache Phoenix学习记录(SQL on HBase)

    1 使用概述 Phoenix是基于HBase的SQL中间件产品,由Salesforce.com公司开源并托管于Github上.对于熟悉关系型数据库的开发人员来说,通过Phoenix可以像使用MySQL ...

  3. Hbase索引( Phoenix二级索引)

    Hbase索引( Phoenix二级索引) 1. Phoenix简介 1.1.Phoenix安装 1.2.常用命令 1.3.phoenix表映射 1.3.1.视图映射 1.3.2.表映射 1.3.3. ...

  4. Spark读写HBase:处理纽约出租车数据

    一.数据及部分代码来源: 解析geojson数据:https://github.com/jwills/geojson 纽约出租车数据:http://www.andresmh.com/nyctaxitr ...

  5. Spark读写Hbase的二种方式对比

    作者:Syn良子 出处:http://www.cnblogs.com/cssdongl 转载请注明出处 一.传统方式 这种方式就是常用的TableInputFormat和TableOutputForm ...

  6. Spark读写HBase(主要讲解SHC的使用)

    前言 Spark读写HBase本身来说是没啥可以讲的,最早之前都是基于RDD的,网上的资料就太多了,可以参考: 参考链接1 参考链接2 其实都一样,后来有了Hortonworks公司的研发人员研发了一 ...

  7. HBase详解(对hbase集群搭建、读写流程、hbase的javaApi等细致入微的讲解与保姆级的图解)

    学HBase的意义是什么 我本想用MySQL来与HBase作比较,但发现他们两者毫无可比性,因为两者运用领域不同,各自有各自的优点,就好比爬山穿登山鞋,潜水穿脚蹼一般. 一门技术的兴起,一个优秀的开源 ...

  8. hbase 单机 java api,HBase学习(一)hbase安装(单机模式)和javaapi客户端访问hbase例子...

    平时习惯了window下开发,而Hbase只能在linux环境下运行,所以决定把hbase安装一台虚拟机上,在windows下运行eclipse连接虚拟机里的hbase 因为对linux命令了解不多, ...

  9. HBase总结(十一)hbase Java API 介绍及使用示例

    几个相关类与HBase数据模型之间的对应关系 java类 HBase数据模型 HBaseAdmin 数据库(DataBase) HBaseConfiguration HTable 表(Table) H ...

  10. HBase总结(十二)Java API 与HBase交互实例

    HBase提供了Java Api的访问接口,掌握这个就跟Java应用使用RDBMS时需要JDBC一样重要 [html] view plaincopy import java.io.IOExceptio ...

最新文章

  1. 3d 自动生成物体_Adobe发布3D建模、AR内容生成应用Scantastic
  2. Cell Reports | 佩戴假肢后,真的能产生正确位置的触觉感吗?研究人员表示并不能...
  3. 高级会计师资格考试成绩合格证在全国范围内几年有效
  4. 吃下去的东西老是往上翻上来_这间日日火爆的面馆,当年海藻带宋思明吃过
  5. python处理txt文件_python处理txt文件
  6. 2012-01-17-05
  7. 冒烟的意思_冒烟测试是什么?
  8. Debian 决定允许无记名投票,候选人Felix Lechner质疑
  9. jersey REST的接口简述
  10. 联合国devnet_联合国人权可能会适用于人工智能,如果是这样,考虑一下自动驾驶汽车的奇怪案例
  11. 昌乐博闻学校2021年高考成绩查询,2021高考难度升级吗?两点忠告送给高考生
  12. 计算机系统具有运行可靠性,计算机系统的可靠性技术
  13. 台式计算机图形设置,如何打开计算机图形设置以提高游戏质量?
  14. Jetpack-MVVM-高频提问和解答,附带学习经验
  15. [INSTALL_FAILED_ALREADY_EXISTS]
  16. 2017年值得一看的7个APP设计
  17. CMS与前端页面SSI技术
  18. anytime you feel the pain,hey,dear,refrain
  19. 毕业时候写的一个PE解析小工具(MFC源码)
  20. matlab如何分类汇总,excel表格按照数据作图-excel怎么按分类汇总后的汇总数据绘制图表...

热门文章

  1. bootstrap-table分页插件使用
  2. 程序员编程艺术:第五章、寻找满足条件的两个或多个数
  3. 11.Kong入门与实战 基于Nginx和OpenResty的云原生微服务网关 --- 自定义插件
  4. 3.啊哈!算法 --- 一大波数正在靠近——枚举!很暴力
  5. 3.第一本 docker 书 --- docker 网络
  6. 6.Swoole WebSocket
  7. 6. 隐藏 index.php
  8. 6. jQuery 效果 - 淡入淡出
  9. 15. JavaScript Array(数组)对象
  10. 计算机中的bit byte(B) mb gb 的关系