Spark与KUDU集成支持:

  • DDL操作(创建/删除)

  • 本地Kudu RDD

  • Native Kudu数据源,用于DataFrame集成

  • 从kudu读取数据

  • 从Kudu执行插入/更新/ upsert /删除

  • 谓词下推

  • Kudu和Spark SQL之间的模式映射

    到目前为止,我们已经听说过几个上下文,例如SparkContext,SQLContext,HiveContext,SparkSession,现在,我们将使用Kudu引入一个KuduContext。这是可在Spark应用程序中广播的主要可序列化对象。此类代表在Spark执行程序中与Kudu Java客户端进行交互。

    KuduContext提供执行DDL操作所需的方法,与本机Kudu RDD的接口,对数据执行更新/插入/删除,将数据类型从Kudu转换为Spark等。

    比较常见的操作:

  1. // Create a Spark and SQL context
  2. val sc = new SparkContext(sparkConf)
  3. val sqlContext = new SQLContext(sc)
  4.  
  5. // Comma-separated list of Kudu masters with port numbers
  6. val master1 = "ip-10-13-4-249.ec2.internal:7051"
  7. val master2 = "ip-10-13-5-150.ec2.internal:7051"
  8. val master3 = "ip-10-13-5-56.ec2.internal:7051"
  9. val kuduMasters = Seq(master1, master2, master3).mkString(",")
  10.  
  11. // Create an instance of a KuduContext
  12. val kuduContext = new KuduContext(kuduMasters)

Maven导包

  1. <repositories>
  2. <repository>
  3. <id>cloudera</id>
  4. <url>https://repository.cloudera.com/artifactory/cloudera-repos/</url>
  5. </repository>
  6. </repositories>
  7.  
  8. <dependencies>
  9. <!-- https://mvnrepository.com/artifact/org.apache.kudu/kudu-client -->
  10. <dependency>
  11. <groupId>org.apache.kudu</groupId>
  12. <artifactId>kudu-client</artifactId>
  13. <version>1.6.0-cdh5.14.0</version>
  14. <scope>test</scope>
  15. </dependency>
  16.  
  17. <!-- https://mvnrepository.com/artifact/org.apache.kudu/kudu-client-tools -->
  18. <dependency>
  19. <groupId>org.apache.kudu</groupId>
  20. <artifactId>kudu-client-tools</artifactId>
  21. <version>1.6.0-cdh5.14.0</version>
  22. </dependency>
  23.  
  24. <!-- https://mvnrepository.com/artifact/org.apache.kudu/kudu-spark2 -->
  25. <dependency>
  26. <groupId>org.apache.kudu</groupId>
  27. <artifactId>kudu-spark2_2.11</artifactId>
  28. <version>1.6.0-cdh5.14.0</version>
  29. </dependency>
  30.  
  31. <!-- https://mvnrepository.com/artifact/org.apache.spark/spark-sql -->
  32. <dependency>
  33. <groupId>org.apache.spark</groupId>
  34. <artifactId>spark-sql_2.11</artifactId>
  35. <version>2.1.0</version>
  36. </dependency>
  37. </dependencies>

具体详细代码看下一章介绍

使用spark操作kudu的更多相关文章

  1. spark操作Kudu之写 - 使用DataFrame API

    在通过DataFrame API编写时,目前只支持一种模式“append”.尚未实现的“覆盖”模式 import org.apache.kudu.spark.kudu._ import org.apa ...

  2. spark操作Kudu之读 - 使用DataFrame API

    虽然我们可以通过上面显示的KuduContext执行大量操作,但我们还可以直接从默认数据源本身调用读/写API. 要设置读取,我们需要为Kudu表指定选项,命名我们要读取的表以及为表提供服务的Kudu ...

  3. spark操作kudu之DML操作

    Kudu支持许多DML类型的操作,其中一些操作包含在Spark on Kudu集成 包括: INSERT - 将DataFrame的行插入Kudu表.请注意,虽然API完全支持INSERT,但不鼓励在 ...

  4. 使用sparkSQL的insert操作Kudu

    可以选择使用Spark SQL直接使用INSERT语句写入Kudu表:与'append'类似,INSERT语句实际上将默认使用UPSERT语义处理: import org.apache.kudu.sp ...

  5. spark 操作hbase

    HBase经过七年发展,终于在今年2月底,发布了 1.0.0 版本.这个版本提供了一些让人激动的功能,并且,在不牺牲稳定性的前提下,引入了新的API.虽然 1.0.0 兼容旧版本的 API,不过还是应 ...

  6. Spark操作hbase

    于Spark它是一个计算框架,于Spark环境,不仅支持单个文件操作,HDFS档,同时也可以使用Spark对Hbase操作. 从企业的数据源HBase取出.这涉及阅读hbase数据,在本文中尽快为了尽 ...

  7. 使用spark集成kudu做DDL

    spark对kudu表的创建 定义kudu的表需要分成5个步骤: 1:提供表名 2:提供schema 3:提供主键 4:定义重要选项:例如:定义分区的schema 5:调用create Table a ...

  8. Spark操作实战

    1. local模式 $SPARK_HOME/bin/spark-shell --master local import org.apache.log4j.{Level,Logger} // 导入ja ...

  9. Spark操作算子本质-RDD的容错

    Spark操作算子本质-RDD的容错spark模式1.standalone master 资源调度 worker2.yarn resourcemanager 资源调度 nodemanager在一个集群 ...

随机推荐

  1. os.date

    代码中有一段如下: local date = os.date("*t", set) if date then           luci.sys.call("date ...

  2. 外网zabbix-server使用主动模式监控公司内网windows服务器

    外网zabbix-server使用主动模式监控公司内网windows服务器 1.Zabbix Agent active批量调整客户端为主动模式监控将Template OS Windows模板调整为主动 ...

  3. Zabbix监控nginx性能的另外一种方式

    Zabbix监控nginx性能的另外一种方式 nginx和php-fpm一样内建了一个状态页,对于想了解nginx的状态以及监控nginx非常有用,为了后续的zabbix监控,我们需要先启用nginx ...

  4. LabVIEW-PC-PLC-MCU串口通信-介绍很全

    链接:https://pan.baidu.com/s/1dG9nuPN 密码:vnpf

  5. python pip下载速度慢的解决方法

    pip是python内置的非常好用的下载工具,基本可以下载全部的python库.它还有一个非常好的特点,当你安装一个库的时候,它会自动帮你安装所有这个库的依赖库.完全一键式操作.非常方便.但是由于pi ...

  6. 解决访问swaggerUI接口文档显示basic-error-controler问题

    问题描述 使用swagger生成接口文档后,访问http://localhost:8888/swagger-ui.html#/,显示如下: 有些强迫症的我,感觉看起来很不舒服,结果百度了好久,找到解决 ...

  7. [转]phpstorm激活码注册码序列号

    浏览器打开 http://idea.lanyus.com/ , 点击页面中的“获得注册码”,然后在注册时切换至Activation Code选项,输入获得的注册码一长串字符串,就可以注册成功!(推荐方 ...

  8. nginx负载均衡后端tomcat无法加载js资源

    JS或css无法完全加载 nginx的代理缓存区,默认较小导致部分文件出现加载不全的问题,比较典型的如jQuery框架,可以通过配置调整nginx的缓存区即可.主要参考proxy参数 最终完整配置如下 ...

  9. java.text.DateFormat 日期格式化

    一: java.text.DateFormat <%@ page language="java" contentType="text/html; charset=u ...

  10. python操作注册表

    #注册表操作 # -*- coding: utf-8 -*- import win32api import win32con #打开注册表:传主键化值,子键值,操作方法(win32con.KEY_AL ...