必须使用高亮参数启动Spark-shell,否则当你遍历RDD时会出现如下的Exception
java.io.NotSerializableException: org.apache.hadoop.hbase.io.ImmutableBytesWritable
spark-shell --conf spark.serializer=org.apache.spark.serializer.KryoSerializer
以下代码,经过MaprDB实测通过
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 import org.apache.hadoop.fs.Path; import org.apache.hadoop.hbase.HColumnDescriptor import org.apache.hadoop.hbase.util.Bytes import org.apache.hadoop.hbase.client.Put; import org.apache.hadoop.hbase.client.HTable; val tableName = "/app/SubscriptionBillingPlatform/TRANSAC_ID" val conf = HBaseConfiguration.create() conf.set(TableInputFormat.INPUT_TABLE, tableName) //create rdd val hBaseRDD = sc.newAPIHadoopRDD(conf, classOf[TableInputFormat], classOf[org.apache.hadoop.hbase.io.ImmutableBytesWritable], classOf[org.apache.hadoop.hbase.client.Result]) hBaseRDD.take(2).map(row=>row._2.rawCells). map(_.map( kv => (new String(kv.getQualifier()) -> new String(kv.getValue()) ) ).toMap ). foreach( map => { map.foreach{ entry => print(entry._1 +":" + entry._2 + ", ") } ; print("\n-----------\n") } ) //get the row count val count = hBaseRDD.count() print("HBase RDD count:"+count)
相关推荐
本示例将详细介绍如何使用 Spark 从 HBase 中读取数据,并通过 Spark SQL 将其存储到 MySQL 数据库中。 首先,让我们了解 Spark 与 HBase 的交互。Spark 提供了 `spark-hbase-connector` 库,允许我们方便地连接到 ...
如上述描述所示,这里使用的是Hadoop 2.7.3、Scala 2.11、Spark 2.1.1和HBase 1.1.2。你需要根据你的实际环境调整这些版本。此外,为了连接到HBase,还需要在项目的`src/main/resources`目录下放置`core-site.xml`、...
本篇文章将详细探讨如何使用 Scala 和 Spark 的 Resilient Distributed Datasets (RDDs) 与 HBase 进行交互,包括读取、写入以及删除数据。 首先,我们需要理解 Spark RDD。RDD 是 Spark 的基本数据抽象,它是不可...
这个示例代码是用 Scala 编写的,用于演示如何使用 Spark Streaming 消费来自 Kafka 的数据,并将这些数据存储到 HBase 数据库中。Kafka 是一个分布式流处理平台,而 HBase 是一个基于 Hadoop 的非关系型数据库,...
在这里,我们提供了Scala中的一个新示例,该示例涉及通过Spark将hbase中保存的数据传输到String ,以及python转换器的新示例。 scala 的示例将保存在hbase中的数据传输到RDD[String] ,该数据包含columnFamily,...
从HBase表读取并写入HBase表的简单Spark Streaming项目 #Prereqs运行 创建一个要写入的hbase表:a)启动hbase shell $ hbase shell b)创建表create'/ user / chanumolu / sensor',{NAME =>'data'},{NAME =>'...
`sparkfirst`这个文件可能包含了使用Scala构建Spark基础应用的示例,如创建SparkContext,读取和处理数据,以及并行操作。 2. **Spark SQL**: Spark SQL是Spark的一个扩展,它允许开发者通过SQL或DataFrame/Dataset...
本项目为平时使用Spark/HBase/Kafka等大数据组件的Demo示例,后续会逐渐丰富; 支持Kerberos/非Kerberos环境下操作HBase/Kafka/HDFS/Spark; 支持Spark Streaming实时读取Kafka; 支持Kafka/HBase相关可配置; 支持...
Scala的强大之处在于其简洁的语法和对并发处理的良好支持,这使得它在大数据处理框架如Spark中被广泛使用。 2. **Hive**:Apache Hive是由Facebook开源的一个数据仓库工具,它可以将结构化的数据文件映射为一张...
在"SparkHadoopHbase案例"中,我们关注的是如何使用Spark Streaming从Kafka中接收数据,进行实时日志分析,然后将结果存储到HBase中。Spark Streaming是Spark的一个模块,用于处理连续的数据流,它可以与Kafka等消息...
2. **读取Hive表**:使用Spark SQL的`spark.read.format("hive").load()`语句加载Hive表,这将返回一个DataFrame。 3. **处理和转换数据**:根据需求,可能需要对DataFrame进行一系列操作,如数据清洗、转换、聚合...
SparkStreaming_HBase将从Kafka收集过来的数据保存到HBase中数据来源:日志生成器。 编写一个python工程,用于产生行为日志,每运行一次,产生所设定的数量数据,使用Linux的定时器,每隔60s执行一次,行为日志保存...
当处理JSON文件时,如果每行都是一个完整的JSON对象,我们可以将其视为文本文件进行读取,然后利用如Scala的`util.parsing.json.JSON`库解析每条数据。然而,通常推荐使用SparkSQL来处理JSON文件,因为它内置了更...
用于将 Spark 与 Apache HBase 数据结合使用的集成实用程序。 支持 基于 HBase 读取的扫描 基于 HBase 写入的 batchPut 基于 HBase 读取的分析 HFile 基于 HBase 写入的批量加载 要求 这个库需要 Spark 1.2+
藏经阁-Scaling 30 TB s of Data lake with Apache HBase and Scala DSL Apache HBase 是一个基于 HDFS 的...Apache HBase、Apache Spark 和 Scala DSL 是三种非常重要的技术栈,广泛应用于大规模数据处理和分析领域。
通过Spark的弹性分布式数据集(Resilient Distributed Datasets, RDD)抽象,我们可以高效地对这些数据进行读取、转换和计算。 在项目源码中,`video-viewing-analysis-master`目录下的`src/main/scala`是主要的...
hbase-rdd, 从HBase读取并写入 RDD ? 这个项目允许将 Apache Spark 连接到 HBase 。 现在可以在 Scala 2.10和版本 2.11上使用Spark和 CDH5.0. 版本,在版本/版本 0.2.2-SNAPSHOT 工作时使用Spark和版本
两种东西,其一是IBM微软数据产品为代表的,其二是Hadoop+Hive+Apache Hive数据仓库软件有助于使用SQL读取,写入和管理驻留在分布式存储中的大型数据集。 可以将结构投影到已经存储的数据上。 提供了命令行工具和...
2. **数据处理**:Spark Streaming消费者订阅Kafka的主题,实时读取数据并执行统计分析,例如计算每分钟的错误率、访问量等。 3. **数据清洗**:在处理过程中可能需要过滤掉无效或不完整的日志,确保分析结果的准确...