spark读写Sequoiadb

spark如何读写Sequoiadb,最近被客户问多了,这个记录下。

Spark读Sequoiadb数据:

package marketing

import com.sequoiadb.hadoop.io.BSONWritable
import com.sequoiadb.hadoop.mapreduce.SequoiadbInputFormat
import org.apache.hadoop.conf.Configuration
import org.apache.spark.{SparkContext, SparkConf}

/**
  * Created by joy on 2015/12/15.
  */
object Read extends App {
    val conf = new SparkConf().setAppName("cgbdata").
      setMaster("local").registerKryoClasses(Array(classOf[BSONWritable]))

    val sc = new SparkContext(conf)
    val hadoopConfig = new Configuration()
    hadoopConfig.set("sequoiadb.input.url","master:11810,slave1:11810,slave2:11810")
    hadoopConfig.set("sequoiadb.in.collectionspace","default")
    hadoopConfig.set("sequoiadb.in.collection","bar")
    val sdbRDD = sc.newAPIHadoopRDD[Object,BSONWritable,SequoiadbInputFormat](hadoopConfig,classOf[SequoiadbInputFormat],classOf[Object], classOf[BSONWritable])
    sdbRDD.map(_._2.getBson).collect.map(println)
    sc.stop()
}

Spark写Sequoiadb

package marketing

import com.sequoiadb.hadoop.io.BSONWritable
import com.sequoiadb.hadoop.mapreduce.SequoiadbOutputFormat
import org.apache.hadoop.conf.Configuration
import org.apache.hadoop.io.{NullWritable, IntWritable}
import org.apache.spark.{SparkConf, SparkContext}
import org.bson.BasicBSONObject
import org.bson.types.ObjectId

/**
 * Hello world!
 *
 */
object Save extends App {
  val sparkconf = new SparkConf().setMaster("local[2]").setAppName("save").registerKryoClasses(Array(classOf[BSONWritable]))
  val sc = new SparkContext(sparkconf)

  var data = sc.parallelize(List((NullWritable.get(),new BSONWritable(new BasicBSONObject("name","gaoxing")))))
  val config = new Configuration()
  config.set("sequoiadb.output.url","master:11810")
  config.set("sequoiadb.out.collectionspace","foo")
  config.set("sequoiadb.out.collection","bar")
  data.saveAsNewAPIHadoopFile("",classOf[NullWritable],classOf[BSONWritable],classOf[SequoiadbOutputFormat],config)
}

  

时间: 2024-10-24 04:32:50

spark读写Sequoiadb的相关文章

spark读写压缩文件API使用详解

最近研究了下Spark如何读写压缩格式的文件,主要有如下三种方式,这里以lzo方式压缩为例     /*******************old hadoop api*************************/     val confHadoop = new JobConf     confHadoop.set("mapred.output.compress", "true")     confHadoop.set("mapred.output

记录一则Spark读写和Lost Excutor错误的分析和解决过程

一.概述 上篇blog记录了些在用spark-sql时遇到的一些问题,今天继续记录用Spark提供的RDD转化方法开发公司第一期标签分析系统(一部分scala作业逻辑代码后面blog再给大家分享)遇到的一些SPARK作业错误信息.其中有些问题可能一些数据量或者shuffle量比较小的作业时不会遇到的,我们整套标签系统的初级输入数据大概是8T左右,这里也是个参考.(下面的Spark部署模式为spark on yarn) 二.问题 1.大规模数据往HDFS中写时候,报了HDFS读写超时,具体日志看下

Spark读写Hbase中的数据

def main(args: Array[String]) { val sparkConf = new SparkConf().setMaster("local").setAppName("cocapp").set("spark.kryo.registrator", classOf[HBaseConfiguration].getName) .set("spark.executor.memory", "4g"

Spark 读写数据、抽象转换 拾遗

读 package com.test.spark import org.apache.spark.sql.{Dataset, Row, SaveMode, SparkSession} /** * @author Administrator * 2019/7/22-17:09 * */ object TestReadData { val spark = SparkSession .builder() .appName("TestCreateDataset") .config("

Spark学习笔记——读写HDFS

使用Spark读写HDFS中的parquet文件 文件夹中的parquet文件 build.sbt文件 name := "spark-hbase" version := "1.0" scalaVersion := "2.11.8" libraryDependencies ++= Seq( "org.apache.spark" %% "spark-core" % "2.1.0", &quo

Sequoiadb该如何选择合适的SQL引擎

Sequoiadb作为一个文档型NoSQL数据既可以存储结构化数据也可以存储非结构化数据,对于非结构化数据只能使用原生的API进行查询,对结构化数据我们可以选择使用原生的API和开源SQL引擎,目前PostgresSQL,Hive,SparkSQL都可以作为Sequoiadb的SQL引擎,应用中该如何选择? 首先需要了解这些SQL引擎是怎么工作的,下图是Sequoiadb的接口图,所有的SQL查询都是通过SQL引擎把SQL解析成原生API的调用,PG依赖c++驱动,SparkSQL和HIVE依赖

Spark学习笔记总结-入门资料精化

Spark简介 spark 可以很容易和yarn结合,直接调用HDFS.Hbase上面的数据,和hadoop结合.配置很容易. spark发展迅猛,框架比hadoop更加灵活实用.减少了延时处理,提高性能效率实用灵活性.也可以与hadoop切实相互结合. spark核心部分分为RDD.Spark SQL.Spark Streaming.MLlib.GraphX.Spark R等核心组件解决了很多的大数据问题,其完美的框架日受欢迎.其相应的生态环境包括zepplin等可视化方面,正日益壮大.大型公

Spark学习笔记总结-超级经典总结

Spark简介 spark 可以很容易和yarn结合,直接调用HDFS.Hbase上面的数据,和hadoop结合.配置很容易. spark发展迅猛,框架比hadoop更加灵活实用.减少了延时处理,提高性能效率实用灵活性.也可以与hadoop切实相互结合. spark核心部分分为RDD.Spark SQL.Spark Streaming.MLlib.GraphX.Spark R等核心组件解决了很多的大数据问题,其完美的框架日受欢迎.其相应的生态环境包括zepplin等可视化方面,正日益壮大.大型公

spark学习笔记总结-spark入门资料精化

Spark学习笔记 Spark简介 spark 可以很容易和yarn结合,直接调用HDFS.Hbase上面的数据,和hadoop结合.配置很容易. spark发展迅猛,框架比hadoop更加灵活实用.减少了延时处理,提高性能效率实用灵活性.也可以与hadoop切实相互结合. spark核心部分分为RDD.Spark SQL.Spark Streaming.MLlib.GraphX.Spark R等核心组件解决了很多的大数据问题,其完美的框架日受欢迎.其相应的生态环境包括zepplin等可视化方面