Spark读取Hbase中的数据

Similar documents
使用Cassandra和Spark 2.0实现Rest API服务

Flume-ng与Mysql整合开发

Hive:用Java代码通过JDBC连接Hiveserver

Apache CarbonData集群模式使用指南

使用MapReduce读取XML文件

Kafka客户端是如何找到 leader 分区的

使用Spark SQL读取Hive上的数据

Guava学习之Resources

通过Hive将数据写入到ElasticSearch

在Spring中使用Kafka:Producer篇

三种方法实现Hadoop(MapReduce)全局排序(1)

SparkR(R on Spark)编程指南

六种使用Linux命令发送带附件的邮件

韶关:神奇丹霞

哼, 你 們 不 回 答 又 怎 麼 樣? 不 管 是 多 大 來 頭, 現 在 都 被 血 魔 吞 噬 無 蹤 了 你 們 幾 個 真 是 太 過 分, 我 不 犯 你 們, 你 們 卻 一 天 到 晚 來 挑 釁 我 教 尊 冷 笑 著 說 道 嗚, 大 人 土 地 大 姐 跪 下 來, 流 下

Hadoop元数据合并异常及解决方法

将 MySQL 的全量数据导入到 Apache Solr 中

伊春:醉人林都

Spark作业代码(源码)IDE远程调试

自定义Spark Streaming接收器(Receivers)

在Fedora上部署Hadoop2.2.0伪分布式平台

关林:武圣陵寝

泰山:五岳独尊

国内26省市新能源汽车推广规划已出台

Spark 2.0介绍:在Spark SQL中定义查询优化规则

Flink快速上手(QuickStart)

北戴河:海阔天空

操作指南产品文档

Flink快速上手之Scala API使用

使用Apache Spark将数据写入ElasticSearch

三种恢复 HDFS 上删除文件的方法


Apache Spark 2.4 新增内置函数和高阶函数使用介绍

西岭雪山滑雪场

Ubuntu和CentOS如何配置SSH使得无密码登陆

21 个你应该知道的 wget 命令

目录 1 安装 INTELLIJ IDEA 安装软件 下载 IDEA 安装文件 解压缩并移动目录 配置 /etc/profile 环境变量 配置 SCALA 环境 启动 Int

SDK 概要 使用 Maven 的用户可以从 Maven 库中搜索 "odps-sdk" 获取不同版本的 Java SDK: 包名 odps-sdk-core odps-sdk-commons odps-sdk-udf odps-sdk-mapred odps-sdk-graph 描述 ODPS 基

Spark1.4中DataFrame功能加强,新增科学和数学函数

電機工程系認可證照清單 /7/1

江门:中国第一侨乡

是 喔, 就 是 那 個 在 BBS 醫 療 版 跟 你 嗆 聲, 自 稱 有 三 十 多 年 推 拿 經 驗 的 大 叔 嗎? 一 個 看 來 頗 為 清 秀 的 女 生 問 道, 她 語 氣 中 略 感 訝 異 是 啊, 什 麼 推 拿 按 摩 有 多 好, 還 要 人 生 病 盡 量 不 要

教育扩张能改善收入分配差距吗?——来自CHNS2006年数据的证据

山水文化,市井人家——以湖州邱城小镇的概念性规划为例


目 录 1 足 阳 明 胃 经 足 太 阴 脾 经 手 少 阴 心 经 手 太 阳 小 肠 经 足 太 阳 膀 胱 经 : 足 少 阴 肾 经 手 厥 阴 心 包 经 手 少 阳 三 焦 经... 10

<4D F736F F D203132A4EBAB50BE50B0EAAFE8ADF4B4B5B946ACD3AB61B8B9A661A4A4AEFCB66CBDFC E646F63>


Microsoft Word - 鄂卫办函[2009]64号.doc

& ((& ) ((

全宋词1

行 业 市 场 研 究 属 于 企 业 战 略 研 究 范 畴, 作 为 当 前 应 用 最 为 广 泛 的 咨 询 服 务, 其 研 究 报 告 形 式 呈 现, 通 常 包 含 以 下 内 容 : 一 份 专 业 的 行 业 研 究 报 告, 注 重 指 导 企 业 或 投 资 者 了 解 该

行 业 市 场 研 究 属 于 企 业 战 略 研 究 范 畴, 作 为 当 前 应 用 最 为 广 泛 的 咨 询 服 务, 其 研 究 报 告 形 式 呈 现, 通 常 包 含 以 下 内 容 : 一 份 专 业 的 行 业 研 究 报 告, 注 重 指 导 企 业 或 投 资 者 了 解 该

行 业 市 场 研 究 属 于 企 业 战 略 研 究 范 畴, 作 为 当 前 应 用 最 为 广 泛 的 咨 询 服 务, 其 研 究 报 告 形 式 呈 现, 通 常 包 含 以 下 内 容 : 一 份 专 业 的 行 业 研 究 报 告, 注 重 指 导 企 业 或 投 资 者 了 解 该

三种方法实现Hadoop(MapReduce)全局排序(2)

案例分享产品文档

行 业 市 场 研 究 属 于 企 业 战 略 研 究 范 畴, 作 为 当 前 应 用 最 为 广 泛 的 咨 询 服 务, 其 研 究 报 告 形 式 呈 现, 通 常 包 含 以 下 内 容 : 一 份 专 业 的 行 业 研 究 报 告, 注 重 指 导 企 业 或 投 资 者 了 解 该

行 业 市 场 研 究 属 于 企 业 战 略 研 究 范 畴, 作 为 当 前 应 用 最 为 广 泛 的 咨 询 服 务, 其 研 究 报 告 形 式 呈 现, 通 常 包 含 以 下 内 容 : 一 份 专 业 的 行 业 研 究 报 告, 注 重 指 导 企 业 或 投 资 者 了 解 该

行 业 市 场 研 究 属 于 企 业 战 略 研 究 范 畴, 作 为 当 前 应 用 最 为 广 泛 的 咨 询 服 务, 其 研 究 报 告 形 式 呈 现, 通 常 包 含 以 下 内 容 : 一 份 专 业 的 行 业 研 究 报 告, 注 重 指 导 企 业 或 投 资 者 了 解 该

Hive几种数据导入方式

Hadoop 2.2.0安装和配置lzo


行 业 市 场 研 究 属 于 企 业 战 略 研 究 范 畴, 作 为 当 前 应 用 最 为 广 泛 的 咨 询 服 务, 其 研 究 报 告 形 式 呈 现, 通 常 包 含 以 下 内 容 : 一 份 专 业 的 行 业 研 究 报 告, 注 重 指 导 企 业 或 投 资 者 了 解 该


行 业 市 场 研 究 属 于 企 业 战 略 研 究 范 畴, 作 为 当 前 应 用 最 为 广 泛 的 咨 询 服 务, 其 研 究 报 告 形 式 呈 现, 通 常 包 含 以 下 内 容 : 一 份 专 业 的 行 业 研 究 报 告, 注 重 指 导 企 业 或 投 资 者 了 解 该

EJB-Programming-4-cn.doc

张家口:塞外明珠

据传-蚂蚁金服350亿美元开约A股IPO,马云身价又要暴涨

PDF 入不思議解脫境界普賢行願品 ... 《大方廣佛華嚴經卷第四十》

1: public class MyOutputStream implements AutoCloseable { 3: public void close() throws IOException { 4: throw new IOException(); 5: } 6:

行 业 市 场 研 究 属 于 企 业 战 略 研 究 范 畴, 作 为 当 前 应 用 最 为 广 泛 的 咨 询 服 务, 其 研 究 报 告 形 式 呈 现, 通 常 包 含 以 下 内 容 : 一 份 专 业 的 行 业 研 究 报 告, 注 重 指 导 企 业 或 投 资 者 了 解 该

奇虎360正式开源深度学习调度平台XLearning

PowerPoint 演示文稿

鼓浪屿:懒得艳遇

行 业 市 场 研 究 属 于 企 业 战 略 研 究 范 畴, 作 为 当 前 应 用 最 为 广 泛 的 咨 询 服 务, 其 研 究 报 告 形 式 呈 现, 通 常 包 含 以 下 内 容 : 一 份 专 业 的 行 业 研 究 报 告, 注 重 指 导 企 业 或 投 资 者 了 解 该

《广东省高职高专英语教学改革与发展研究》成果总结

PowerPoint 演示文稿

行 业 市 场 研 究 属 于 企 业 战 略 研 究 范 畴, 作 为 当 前 应 用 最 为 广 泛 的 咨 询 服 务, 其 研 究 报 告 形 式 呈 现, 通 常 包 含 以 下 内 容 : 一 份 专 业 的 行 业 研 究 报 告, 注 重 指 导 企 业 或 投 资 者 了 解 该

Java Access 5-1 Server Client Client Server Server Client 5-2 DataInputStream Class java.io.datainptstream (extends) FilterInputStream InputStream Obj

行 业 市 场 研 究 属 于 企 业 战 略 研 究 范 畴, 作 为 当 前 应 用 最 为 广 泛 的 咨 询 服 务, 其 研 究 报 告 形 式 呈 现, 通 常 包 含 以 下 内 容 : 一 份 专 业 的 行 业 研 究 报 告, 注 重 指 导 企 业 或 投 资 者 了 解 该

昆明:茶暖花瘦

ABOUT ME AGENDA 唐建法 / TJ MongoDB 高级方案架构师 MongoDB 中文社区联合发起人 Spark 介绍 Spark 和 MongoDB 案例演示

天津天狮学院关于修订2014级本科培养方案的指导意见

中 文 摘 要 智 慧 型 手 機 由 於 有 強 大 的 功 能, 以 及 優 渥 的 便 利 性, 還 能 與 網 路 保 持 隨 時 的 鏈 結 與 同 步 更 新, 因 此 深 受 廣 大 消 費 者 喜 愛, 當 然, 手 機 遊 戲 也 成 為 現 代 人 不 可 或 缺 的 娛 樂 之

行 业 市 场 研 究 属 于 企 业 战 略 研 究 范 畴, 作 为 当 前 应 用 最 为 广 泛 的 咨 询 服 务, 其 研 究 报 告 形 式 呈 现, 通 常 包 含 以 下 内 容 : 一 份 专 业 的 行 业 研 究 报 告, 注 重 指 导 企 业 或 投 资 者 了 解 该

,4 :20..,5 ( )..,1. :..,2..,2..,10..,3.., ,1..,3..,12..,1..,2 :..,..,2 :..,3..,6..,4 ( )..,4.,.,3 6..,3 :..,3..,1 :..

迅速在两个含有大量数据的文件中寻找相同的数据

公 司 年 度 大 事 记 2015 年 10 月 -11 月, 公 司 完 成 股 份 制 改 造 10 月 13 日, 百 灵 有 限 临 时 股 东 会 作 出 决 议, 同 意 各 发 起 人 将 其 在 百 灵 有 限 拥 有 的 截 至 2015 年 8 月 31 日 经 审 计 的 原

白 皮 书 英 特 尔 IT 部 门 实 施 Apache Hadoop* 英 特 尔 分 发 版 软 件 的 最 佳 实 践 目 录 要 点 概 述...1 业 务 挑 战...2 Hadoop* 分 发 版 注 意 事 项...3 Hadoop* 基 础 架 构 注 意 事 项

青岛:海滨城市

金山词霸的教程_金山软件介绍

PowerPoint 演示文稿

● 源起

❶ 前 言 你 快 樂 嗎? 你 睡 得 好 嗎? 是 否 心 裡 總 是 有 股 揮 之 不 去 的 煩 悶 或 憂 鬱? 是 否 很 難 放 自 己 一 馬? 不 知 道 怎 麼 愛 自 己? 壓 力 可 以 是 生 病 的 原 因, 也 可 以 是 成 長 的 動 力 如 何 面 對 你 內

行 业 市 场 研 究 属 于 企 业 战 略 研 究 范 畴, 作 为 当 前 应 用 最 为 广 泛 的 咨 询 服 务, 其 研 究 报 告 形 式 呈 现, 通 常 包 含 以 下 内 容 : 一 份 专 业 的 行 业 研 究 报 告, 注 重 指 导 企 业 或 投 资 者 了 解 该

帝国CMS下在PHP文件中调用数据库类执行SQL语句实例

行 业 市 场 研 究 属 于 企 业 战 略 研 究 范 畴, 作 为 当 前 应 用 最 为 广 泛 的 咨 询 服 务, 其 研 究 报 告 形 式 呈 现, 通 常 包 含 以 下 内 容 : 一 份 专 业 的 行 业 研 究 报 告, 注 重 指 导 企 业 或 投 资 者 了 解 该


ttian


Transcription:

Spark 读取 Hbase 中的数据 Spark 和 Flume-ng 整合, 可以参见本博客 : Spark 和 Flume-ng 整合 使用 Spark 读取 HBase 中的数据 如果想及时了解 Spark Hadoop 或者 Hbase 相关的文章, 欢迎关注微信公共帐号 :iteblog_hadoop 大家可能都知道很熟悉 Spark 的两种常见的数据读取方式 ( 存放到 RDD 中 ):(1) 调用 pa rallelize 函数直接从集合中获取数据, 并存入 RDD 中 ;Java 版本如下 : JavaRDD<Integer> myrdd = sc.parallelize(arrays.aslist(1,2,3)); Scala 版本如下 : val myrdd= sc.parallelize(list(1,2,3)) 这种方式很简单, 很容易就可以将一个集合中的数据变成 RDD 的初始化值 ; 更常见的是 (2 ) 从文本中读取数据到 RDD 中, 这个文本可以是纯文本文件 可以是 sequence 文件 ; 可以存放在本地 (file://) 可以存放在 HDFS(hdfs://) 上, 还可以存放在 S3 上 其实对文件来说,Spark 支持 Hadoop 所支持的所有文件类型和文件存放位置 Java 版如下 : 1 / 5

import org.apache.spark.sparkconf; import org.apache.spark.api.java.javardd; import org.apache.spark.api.java.javasparkcontext; SparkConf conf = new SparkConf().setAppName("Simple Application"); JavaSparkContext sc = new JavaSparkContext(conf); sc.addfile("wyp.data"); JavaRDD<String> lines = sc.textfile(sparkfiles.get("wyp.data")); Scala 版本如下 : import org.apache.spark.sparkcontext import org.apache.spark.sparkconf val conf = new SparkConf().setAppName("Simple Application") val sc = new SparkContext(conf) sc.addfile("spam.data") val infile = sc.textfile(sparkfiles.get("spam.data")) 在实际情况下, 我们需要的数据可能不是简单的存放在 HDFS 文本中, 我们需要的数据可能就存放在 Hbase 中, 那么我们如何用 Spark 来读取 Hbase 中的数据呢? 本文的所有测试是基于 Hadoo p 2.2.0 Hbase 0.98.2 Spark 0.9.1, 不同版本可能代码的编写有点不同 本文只是简单地用 Spa rk 来读取 Hbase 中的数据, 如果需要对 Hbase 进行更强的操作, 本文可能不能帮你 话不多说,S park 操作 Hbase 的核心的 Java 版本代码如下 : import org.apache.hadoop.conf.configuration; import org.apache.hadoop.hbase.hbaseconfiguration; import org.apache.hadoop.hbase.client.result; import org.apache.hadoop.hbase.client.scan; import org.apache.hadoop.hbase.io.immutablebyteswritable; import org.apache.hadoop.hbase.mapreduce.tableinputformat; import org.apache.hadoop.hbase.protobuf.protobufutil; import org.apache.hadoop.hbase.protobuf.generated.clientprotos; import org.apache.hadoop.hbase.util.base64; import org.apache.hadoop.hbase.util.bytes; import org.apache.spark.api.java.javapairrdd; import org.apache.spark.api.java.javasparkcontext; 2 / 5

JavaSparkContext sc = new JavaSparkContext(master, "hbasetest", System.getenv("SPARK_HOME"), System.getenv("JARS")); Configuration conf = HBaseConfiguration.create(); Scan scan = new Scan(); scan.addfamily(bytes.tobytes("cf")); scan.addcolumn(bytes.tobytes("cf"), Bytes.toBytes("airName")); try { String tablename = "flight_wap_order_log"; conf.set(tableinputformat.input_table, tablename); ClientProtos.Scan proto = ProtobufUtil.toScan(scan); String ScanToString = Base64.encodeBytes(proto.toByteArray()); conf.set(tableinputformat.scan, ScanToString); JavaPairRDD<ImmutableBytesWritable, Result> myrdd = sc.newapihadooprdd(conf, TableInputFormat.class, ImmutableBytesWritable.class, Result.class); catch (Exception e) { e.printstacktrace(); 这样本段代码段是从 Hbase 表名为 flight_wap_order_log 的数据库中读取 cf 列簇上的 airname 一列的数据, 这样我们就可以对 myrdd 进行相应的操作 : System.out.println(myRDD.count()); 本段代码需要在 pom.xml 文件加入以下依赖 : 3 / 5

<groupid>org.apache.spark</groupid> <artifactid>spark-core_2.10</artifactid> <version>0.9.1</version> <artifactid>hbase</artifactid> <artifactid>hbase-client</artifactid> <artifactid>hbase-common</artifactid> <artifactid>hbase-server</artifactid> Scala 版如下 : import org.apache.spark._ import org.apache.spark.rdd.newhadooprdd import org.apache.hadoop.hbase.{hbaseconfiguration, HTableDescriptor import org.apache.hadoop.hbase.client.hbaseadmin import org.apache.hadoop.hbase.mapreduce.tableinputformat 4 / 5

Powered by TCPDF (www.tcpdf.org) Spark 读取 Hbase 中的数据 object HBaseTest { def main(args: Array[String]) { val sc = new SparkContext(args(0), "HBaseTest", System.getenv("SPARK_HOME"), SparkContext.jarOfClass(this.getClass)) val conf = HBaseConfiguration.create() conf.set(tableinputformat.input_table, args(1)) val hbaserdd = sc.newapihadooprdd(conf, classof[tableinputformat], classof[org.apache.hadoop.hbase.io.immutablebyteswritable], classof[org.apache.hadoop.hbase.client.result]) hbaserdd.count() System.exit(0) 我们需要在加入如下依赖 : librarydependencies ++= Seq( "org.apache.spark" % "spark-core_2.10" % "0.9.1", "org.apache.hbase" % "hbase" % "0.98.2-hadoop2", "org.apache.hbase" % "hbase-client" % "0.98.2-hadoop2", "org.apache.hbase" % "hbase-common" % "0.98.2-hadoop2", "org.apache.hbase" % "hbase-server" % "0.98.2-hadoop2" ) 在测试的时候, 需要配置好 Hbase Hadoop 环境, 否则程序会出现问题, 特别是让程序找到 Hbase-site.xml 配置文件 本博客文章除特别声明, 全部都是原创! 转载本文请加上 : 转载自过往记忆 (https://www.iteblog.com/) 本文链接 : () 5 / 5