Spark 读取HBase数据
Spark1.6.2 读取 HBase 1.2.3
//hbase-common-1.2.3.jar
//hbase-protocol-1.2.3.jar
//hbase-server-1.2.3.jar
//htrace-core-3.1.0-incubating.jar
//metrics-core-2.2.0.jar
val sparkConf = new SparkConf()
.setAppName("User") // 创建 spark context
val sc = new SparkContext(sparkConf)
val sqlContext = new SQLContext(sc)
import sqlContext.implicits._ // 创建HBase configuration
val hBaseConf = HBaseConfiguration.create()
hBaseConf.set("hbase.zookeeper.quorum", "192.168.1.1,192.168.1.2,192.168.1.3")
hBaseConf.set("hbase.zookeeper.property.clientPort", ""); // zookeeper端口号
//设置表名
hBaseConf.set(TableInputFormat.INPUT_TABLE, "knowledge") // 应用newAPIHadoopRDD读取HBase,返回NewHadoopRDD
val hbaseRDD = sc.newAPIHadoopRDD(hBaseConf,
classOf[TableInputFormat],
classOf[org.apache.hadoop.hbase.io.ImmutableBytesWritable],
classOf[org.apache.hadoop.hbase.client.Result]) // 将数据映射为表 也就是将 RDD转化为 dataframe schema
// 读取结果集RDD,返回一个MapPartitionsRDD
val resRDD = hbaseRDD.map(tuple => tuple._2) //打印读取数据内容
val user_knowledge = resRDD.map(r => (Bytes.toString(r.getRow),
Bytes.toString(r.getValue(Bytes.toBytes("behavior"), Bytes.toBytes("reg_id"))),
Bytes.toString(r.getValue(Bytes.toBytes("behavior"), Bytes.toBytes("create_user_id"))),
Bytes.toString(r.getValue(Bytes.toBytes("behavior"), Bytes.toBytes("knowledge_id"))),
Bytes.toString(r.getValue(Bytes.toBytes("behavior"), Bytes.toBytes("create_time")))) //
).toDF("row", "reg_id", "create_user_id", "knowledge_id", "create_time") user_knowledge.registerTempTable("user_knowledge") // 测试
val df2 = sqlContext.sql("SELECT * FROM user_knowledge") df2.collect.foreach(println) sc.stop
Spark 读取HBase数据的更多相关文章
- spark读取hbase数据
def main(args: Array[String]): Unit = { val hConf = HBaseConfiguration.create(); hConf.set("hba ...
- SparkSQL读取HBase数据
这里的SparkSQL是指整合了Hive的spark-sql cli(关于SparkSQL和Hive的整合,见文章后面的参考阅读). 本质上就是通过Hive访问HBase表,具体就是通过hive-hb ...
- 关于mapreducer 读取hbase数据 存入mysql的实现过程
mapreducer编程模型是一种八股文的代码逻辑,就以用户行为分析求流存率的作为例子 1.map端来说:必须继承hadoop规定好的mapper类:在读取hbase数据时,已经有现成的接口 Tabl ...
- 使用MapReduce读取HBase数据存储到MySQL
Mapper读取HBase数据 package MapReduce; import org.apache.hadoop.hbase.Cell; import org.apache.hadoop.hba ...
- Spark 读取HBase和SolrCloud数据
Spark1.6.2读取SolrCloud 5.5.1 //httpmime-4.4.1.jar // solr-solrj-5.5.1.jar //spark-solr-2.2.2-20161007 ...
- Spark读取Hbase中的数据
大家可能都知道很熟悉Spark的两种常见的数据读取方式(存放到RDD中):(1).调用parallelize函数直接从集合中获取数据,并存入RDD中:Java版本如下: JavaRDD<Inte ...
- spark读取hbase形成RDD,存入hive或者spark_sql分析
object SaprkReadHbase { var total:Int = 0 def main(args: Array[String]) { val spark = SparkSession . ...
- spark读取hbase(NewHadoopAPI 例子)
package cn.piesat.controller import java.text.{DecimalFormat, SimpleDateFormat}import java.utilimpor ...
- spark读取kafka数据 createStream和createDirectStream的区别
1.KafkaUtils.createDstream 构造函数为KafkaUtils.createDstream(ssc, [zk], [consumer group id], [per-topic, ...
随机推荐
- uiautomator2 使用注意的地方
uiautomator2项目地址:https://github.com/openatx/uiautomator2#basic-api-usages 下面记录一些自己在使用过程中的坑,仅供参考 1.通过 ...
- linux nginx管理
1.添加 Nginx 服务 vim /lib/systemd/system/nginx.service 添加如下内容: [Unit]Description=nginxAfter=network.tar ...
- Oracle数据库一些操作信息
Oracle数据库如何查看当前用户角色权限及默认表空间查看当前用户的一些信息,包括用户拥有的角色权限信息.用户表空间以及用户和默认表空间的关系等--查看用户的角色权限1.查看当前用户拥有的角色权限信息 ...
- java 将数据库中的每一条数据取出放入数组或者List中
1.如何将数据库中数据按照行(即一整条数据)取出来,存入到数组当中? public static String str = null; // 将StringBuffer转化成字符串 public st ...
- Spring中@Async-异步处理
在Java应用中,绝大多数情况下都是通过同步的方式来实现交互处理的:但是在处理与第三方系统交互的时候,容易造成响应迟缓的情况,之前大部分都是使用多线程来完成此类任务,其实,在spring 3.x之后, ...
- JMeter 分布式调度压测部署
我们遇到jmeter被假死死了,这里有2个原因,一是jmeter原本是java写的,heap受硬件限制需要调优,二是单机无法分解超大并发比如100万+并发压测,因此,我们分二部走,首先我们需要进行jm ...
- HttpClient请求服务器图片
我们先引入一个IO流相关的Jar包, 从apache下载 下载后,jar包和源码如图: 我们只需要将jar包引入项目: 之后我们使用FileUtils这个类,其中有一个文件复制方法. 我们将请求的图片 ...
- P1982小朋友的数字
传送 手疼qwq 翻译一下题面.就是说,给n个数,第i个数(包括第i个)以及之前的数构成的最大子段和是i的特征值,i以前(不包括i)的数中最大的分数j+特征值j是i的分数,求所有人中的最大分数. (好 ...
- sticky用法
可以用于滚动到一定距离以后让他实现定位效果. 比如滚动到50px的时候让导航栏固定定位. 用法:给最外层的div设置绝对定位 然后要固定的div设置position:sticky; top:0: 这样 ...
- MSSQL sql常用判断语句
.判断数据库是否存在 if exists (select * from sys.databases where name = '数据库名') drop database [数据库名] 2 判断 ...