`
bit1129
  • 浏览: 1070737 次
  • 性别: 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/

 

分享到:
评论

相关推荐

    大数据Hadoop+HBase+Spark+Hive集群搭建教程(七月在线)1

    2. **HBase**:HBase是一个基于Hadoop的分布式数据库,适合实时读写操作,尤其适合半结构化和非结构化数据。它提供了一个高可靠性、高性能、列式存储、可伸缩的数据库。 - **HBase安装与配置**: - 在Hadoop集群...

    Hadoop Hive HBase Spark Storm概念解释

    HBase提供了一个高效的、支持随机读写的平台,适用于需要频繁访问大量数据的应用场景。 - **解决的问题**:HBase解决了Hadoop在处理实时数据需求方面的不足。虽然Hadoop非常适合处理批量数据,但在需要快速响应时间...

    flink+hbase+spark_linux.rar

    标题中的"flink+hbase+spark_linux.rar"表明这是一个关于大数据处理框架Flink、分布式数据库HBase以及大数据处理引擎Spark在Linux操作系统环境下的综合应用。这个压缩包可能包含相关的配置文件、示例代码、教程文档...

    hadoop storm hbase spark

    根据提供的文件信息,我们可以从以下几个方面来探讨与Hadoop、Storm、HBase和Spark相关的知识点。 ### Hadoop #### 1. Hadoop简介 Hadoop是一个开源软件框架,用于分布式存储和处理大型数据集。它由Apache基金会...

    基于Spark的实时日志分析及异常检测系统 Flume + Kafka + Hbase + Spark-Streaming

    这里提到的"人工智能-spark"项目,结合了Flume、Kafka、HBase以及Spark-Streaming,构建了一个高效且实时的数据处理管道。下面我们将详细探讨这些组件各自的作用及其相互间的协同工作原理。 1. **Apache Flume**:...

    读写HBase数据.pdf

    Spark提供了连接HBase的库,使得读写HBase变得简单。在pyspark中,可以通过以下步骤实现: 1. 引入HBase的jar包到Spark的类路径中,这样Spark可以理解HBase的数据格式。 2. 创建SparkSession,并配置连接HBase的...

    java基于spark streaming和kafka,hbase的日志统计分析系统.rar

    本项目"java基于spark streaming和kafka,hbase的日志统计分析系统"提供了一个高效的数据处理框架,用于实时处理大规模日志数据。以下是关于这个系统的详细介绍,以及涉及的技术栈的核心知识点。 1. **Spark ...

    Kafka集成Spark Streaming并写入数据到HBase

    **Kafka、Spark Streaming与HBase的集成** 在大数据处理领域,Kafka作为一个高吞吐量的分布式消息系统,常用于实时数据流处理;Spark Streaming则提供了基于微批处理的实时计算框架,能够高效地处理持续的数据流;...

    Spark以及hbase学习资料

    Spark和HBase是大数据处理领域中的两个重要工具,它们各自有着独特的功能和应用场景。Spark作为一个快速、通用且可扩展的数据处理引擎,适用于实时计算、批处理以及机器学习等多种任务。而HBase则是一个基于Hadoop的...

    徐老师大数据培训Hadoop+HBase+ZooKeeper+Spark+Kafka+Scala+Ambari

    根据提供的标题、描述、标签及部分内容链接,我们可以推断出这是一个关于大数据技术栈的培训课程,涉及的技术包括Hadoop、HBase、Zookeeper、Spark、Kafka、Scala以及Ambari。下面将针对这些技术进行详细的介绍和...

    大数据基础面试题hadoop,zookeeper,hbase,hive,spark,kafka,flink,clickhouse

    基于 Hadoop 的 HBase 是一个非关系型数据库(NoSQL),适合实时读写大规模数据。它提供了行式存储,支持列族,具有良好的水平扩展性,适用于时间序列数据或稀疏数据。 4. **Hive**: Hive 是构建在 Hadoop 上的...

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

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

    spark-2.4.0-hive-hbase-Api.7z

    标题“spark-2.4.0-hive-hbase-Api.7z”表明这是一个与Apache Spark、Apache Hive和Apache HBase相关的压缩包文件,适用于版本2.4.0。这个压缩包很可能包含了这三个组件的API库,使得开发人员能够在集成环境中进行...

    Spark-hbase实战.zip

    在大数据处理领域,Spark与HBase的结合使用已经成为一种常见的技术方案。Spark作为一个快速、通用且可扩展的大数据处理框架,能够高效地处理大规模数据,而HBase则是一款基于Hadoop的数据存储系统,适合存储非结构化...

    javaApi_sparkhiveAPI_hbaseAPI.zip

    - **Spark与HBase集成**:Spark可以连接到HBase,通过RDD(Resilient Distributed Datasets)或DataFrame进行数据读写,实现高效的大规模数据处理。 - **HBaseRDD**:Spark提供了HBaseRDD类,允许开发者直接操作...

    Atlas Spark SQL血缘分析,HBASE

    将Apache Atlas与Spark SQL和HBase结合,可以实现对Spark SQL查询操作的血缘跟踪,从而在HBase上创建一个完整的数据生命周期管理。Apache Atlas的HBase Hook允许我们捕获Spark SQL对HBase表的操作,如读取、写入或...

    基于HBase和Spark构建企业级数据处理平台.zip

    在大数据处理领域,HBase和Spark是两个非常关键的组件,它们为企业级数据处理平台提供了高效、可扩展的解决方案。本资料"基于HBase和Spark构建企业级数据处理平台.zip"详细介绍了如何利用这两个技术来构建这样的平台...

    hbase-1.4.10-bin.tar.gz

    Spark提供了HBase connector,允许Spark作业直接读写HBase。在Spark应用中,你需要添加HBase和HBase-connector相关的依赖。在Spark的`spark-defaults.conf`文件中指定HBase的相关配置,如`spark.hadoop.hbase....

    建立Hive和Hbase的映射关系,通过Spark将Hive表中数据导入ClickHouse

    本话题关注的是如何建立Hive与HBase之间的映射关系,并利用Spark将Hive中的数据高效地导入到ClickHouse数据库。以下将详细介绍这一过程的关键步骤和涉及的技术点。 首先,Hive是基于Hadoop的数据仓库工具,用于存储...

    hbase jar包.zip

    首先,hbase-client-2.2.4.jar是HBase客户端的核心库,它提供了与HBase服务器交互的API,包括数据的读写、扫描、行键操作等。这个版本的HBase客户端已经对HBase 2.2.4进行了优化,确保了与服务端的兼容性和性能。 ...

Global site tag (gtag.js) - Google Analytics