`
bit1129
  • 浏览: 1056643 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

【Spark五十一】Spark读写HBase

 
阅读更多

挖个坑

 

读HBase

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


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)
  }
}

 

参见:http://www.iteblog.com/archives/1051

 

http://www.netfoucs.com/article/u014388509/86933.html

 

Spark自带的例子

/*
 * Licensed to the Apache Software Foundation (ASF) under one or more
 * contributor license agreements.  See the NOTICE file distributed with
 * this work for additional information regarding copyright ownership.
 * The ASF licenses this file to You under the Apache License, Version 2.0
 * (the "License"); you may not use this file except in compliance with
 * the License.  You may obtain a copy of the License at
 *
 *    http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package org.apache.spark.examples

import org.apache.hadoop.hbase.client.HBaseAdmin
import org.apache.hadoop.hbase.{HBaseConfiguration, HTableDescriptor}
import org.apache.hadoop.hbase.mapreduce.TableInputFormat

import org.apache.spark._


object HBaseTest {
  def main(args: Array[String]) {
    val sparkConf = new SparkConf().setAppName("HBaseTest")
    val sc = new SparkContext(sparkConf)
    val conf = HBaseConfiguration.create()
    // Other options for configuring scan behavior are available. More information available at
    // http://hbase.apache.org/apidocs/org/apache/hadoop/hbase/mapreduce/TableInputFormat.html
    conf.set(TableInputFormat.INPUT_TABLE, args(0))

    // Initialize hBase table if necessary
    val admin = new HBaseAdmin(conf)
    if (!admin.isTableAvailable(args(0))) {
      val tableDesc = new HTableDescriptor(args(0))
      admin.createTable(tableDesc)
    }

    val hBaseRDD = sc.newAPIHadoopRDD(conf, classOf[TableInputFormat],
      classOf[org.apache.hadoop.hbase.io.ImmutableBytesWritable],
      classOf[org.apache.hadoop.hbase.client.Result])

    hBaseRDD.count()

    sc.stop()
  }
}

 

写HBase:

http://wuchong.me/blog/2015/04/06/spark-on-hbase-new-api/

 

分享到:
评论

相关推荐

    读写HBase数据.pdf

    Spark及pyspark的操作应用 读写HBase数据

    spark-hbase-ingestion:Spark HBase使用DataFrame进行读写

    使用数据框的spark-hbase-ingestion / ** 转换记录以插入HBase的方法 @param记录 @param cf列族 @返回 */ def toHbaseRecords(记录:Array [(String,Array [(String,String)])],cf:String):RDD [...

    shc-core-spark-2.3.0-hbase-2.1.0.jar

    使用hortonworks的开源框架shc源码编译,适用于在cdh6.2.0环境下,pyspark2.4.0读写hbase2.1.0

    hbase-spark-playground:spark的基本java字数统计

    一个基本的java类,在HBase中使用spark进行读写@see spark.examples.SparkToHBase ####How-to(可选)您需要使用以下命令设置您的 hadoop 配置:export HADOOP_CONF_DIR=/etc/hadoop/conf # 到您的 hadoop 配置的...

    大数据Spark二次开发.pdf

    6. Hbase:Spark可以操作Hbase的表。 RDD(Resilient Distributed Datasets) RDD是Spark的核心概念,定义为只读的、可分区的分布式数据集。RDD的特点包括: 1. 可重用:RDD可以在多次计算间重用。 2. 可缓存:...

    Spark学习笔记

    spark 可以很容易和yarn结合,直接调用HDFS、Hbase上面的数据,和hadoop结合。...Spark读写过程不像hadoop溢出写入磁盘,都是基于内存,因此速度很快。另外DAG作业调度系统的宽窄依赖让Spark速度提高。

    spark-examples_2.11-1.6.0-typesafe-001.jar

    HbaseAPI资源包,pyspark读写habase必备jar包,有余力的同学可以自己修改定义。

    基于Spark SQL结构化数据文件的推荐系统性能优化研究.pdf

    Spark SQL 的架构、DateFrame 数据抽象、基于数据分类的改进交替最小二乘算法(ALS),并提出最小二乘算法对 Spark SQL 的 Dateset 进行优化,整合 Hive 数据集和 HBase 分布式数据的优点,改进了数据读写速度,优化...

    shc-core-1.1.1-2.1-s_2.11.jar

    Apache Spark - Apache HBase Connector 可以使用此jar包基于shc框架使用spark读写hbase

    Alluxio(以前称为Tachyon)是一个虚拟的分布式存储系统.rar

    在大数据领域,最底层的是分布式文件系统,如Amazon S3、Apache HDFS等,而较高层的应用则是一些分布式计算框架,如Spark、MapReduce、HBase、Flink等,这些分布式框架,往往都是直接从分布式文件系统中读写数据,...

    (完整版)大数据平台简介.ppt

    HBase可以处理高并发和高性能的数据读写操作。 7. Hive:Hive是一个数据仓库,用于存储和管理大规模数据。Hive提供了一种SQL-like的查询语言,用于简化数据分析和处理。 8. Pig:Pig是一个大规模数据分析平台,...

    在python中使用pyspark读写Hive数据操作

    pyspark读取hive数据非常简单,因为它有专门的接口来读取,完全不需要像hbase那样,需要做很多配置,pyspark提供的操作hive的接口,使得程序可以直接使用SQL语句从hive里面查询需要的数据,代码如下: from pyspark...

    各大数据组件介绍.pdf

    但不同于MapReduce的是—— Job中间输出结果可以保存在内存中,从⽽不再需要读写HDFS,因此Spark能更好地适⽤于数据挖掘与机器学习等需要迭代 的MapReduce的算法。 Spark 是⼀种与 相似的开源集群计算环境,但是两者...

    Kudu分布式存储引擎

    由浅入深的剖析了Kudu的基础架构、底层存储原理、读写流程、和HBase的对比 手把手的搭建了Kudu的分布式集群 详细的剖析了的Kudu的增删改查API和数据刷新策略 详细的描述了Kudu在实际生产环境中的架构图和应用,并...

    Java及大数据学习路线.pdf

    订阅消息系统Kafka+监控器kafkaManager+kafkaMonitor 分布式⾮关系型数据库Hbase+Hbase⼆级索引创建⼯具Phoenix 任务调度框架Azkaban 数据查询框架Kylin+druid ⼤数据图形化⼯具Hue 分布式版本管理⼯具Git与Github ...

    数据湖技术IceBerg如何解决腾讯看点业务痛点v5.pdf

    内容加工审核链路数据写入Iceberg可以节省大量Spark、HBase的计算资源,通过Iceberg的时间旅行(Time Travel),让访问历史版本数据成为可能,通过Iceberg的Snapshot机制,保证读取的ACID。用户消费行为数据写入Ice...

    Hadoop大数据的历史与发展趋势分析.docx

    * Hadoop的发展:从传统的Hadoop三驾马车HDFS、MapReduce和HBase社区发展为现在的四层架构:存储层、资源及数据管理层、计算引擎层和基于MapReduce、Spark等计算引擎的高级封装及工具 * HDFS:大数据磁盘存储的事实...

    基于标签的用户行为日志大数据分析系统

    【作品名称】:基于标签的用户行为日志大数据分析系统 ...Kudu: HBase低延迟的记录级别随机读写与HDFS高吞吐量连续读取数据的能力的平衡点 低延迟的更新,适用于实时数据的快速入库 接近于Parquet的批量扫描性能

    大数据架构系列 Lambda架构初体验.docx

    Lambda 架构整合离线计算和实时计算,融合不行变性、读写分离和简单性隔离等一系列架构准则,可以集成 Hadoop、Kafka、Storm、Spark、Hbase 等各种大数据组件。 大数据架构系列 - Lambda 架构初体验中讨论了大数据...

Global site tag (gtag.js) - Google Analytics