使用spark操作kudu
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等。
比较常见的操作:
- // Create a Spark and SQL context
- val sc = new SparkContext(sparkConf)
- val sqlContext = new SQLContext(sc)
- // Comma-separated list of Kudu masters with port numbers
- val master1 = "ip-10-13-4-249.ec2.internal:7051"
- val master2 = "ip-10-13-5-150.ec2.internal:7051"
- val master3 = "ip-10-13-5-56.ec2.internal:7051"
- val kuduMasters = Seq(master1, master2, master3).mkString(",")
- // Create an instance of a KuduContext
- val kuduContext = new KuduContext(kuduMasters)
Maven导包
- <repositories>
- <repository>
- <id>cloudera</id>
- <url>https://repository.cloudera.com/artifactory/cloudera-repos/</url>
- </repository>
- </repositories>
- <dependencies>
- <!-- https://mvnrepository.com/artifact/org.apache.kudu/kudu-client -->
- <dependency>
- <groupId>org.apache.kudu</groupId>
- <artifactId>kudu-client</artifactId>
- <version>1.6.0-cdh5.14.0</version>
- <scope>test</scope>
- </dependency>
- <!-- https://mvnrepository.com/artifact/org.apache.kudu/kudu-client-tools -->
- <dependency>
- <groupId>org.apache.kudu</groupId>
- <artifactId>kudu-client-tools</artifactId>
- <version>1.6.0-cdh5.14.0</version>
- </dependency>
- <!-- https://mvnrepository.com/artifact/org.apache.kudu/kudu-spark2 -->
- <dependency>
- <groupId>org.apache.kudu</groupId>
- <artifactId>kudu-spark2_2.11</artifactId>
- <version>1.6.0-cdh5.14.0</version>
- </dependency>
- <!-- https://mvnrepository.com/artifact/org.apache.spark/spark-sql -->
- <dependency>
- <groupId>org.apache.spark</groupId>
- <artifactId>spark-sql_2.11</artifactId>
- <version>2.1.0</version>
- </dependency>
- </dependencies>
具体详细代码看下一章介绍
使用spark操作kudu的更多相关文章
- spark操作Kudu之写 - 使用DataFrame API
在通过DataFrame API编写时,目前只支持一种模式“append”.尚未实现的“覆盖”模式 import org.apache.kudu.spark.kudu._ import org.apa ...
- spark操作Kudu之读 - 使用DataFrame API
虽然我们可以通过上面显示的KuduContext执行大量操作,但我们还可以直接从默认数据源本身调用读/写API. 要设置读取,我们需要为Kudu表指定选项,命名我们要读取的表以及为表提供服务的Kudu ...
- spark操作kudu之DML操作
Kudu支持许多DML类型的操作,其中一些操作包含在Spark on Kudu集成 包括: INSERT - 将DataFrame的行插入Kudu表.请注意,虽然API完全支持INSERT,但不鼓励在 ...
- 使用sparkSQL的insert操作Kudu
可以选择使用Spark SQL直接使用INSERT语句写入Kudu表:与'append'类似,INSERT语句实际上将默认使用UPSERT语义处理: import org.apache.kudu.sp ...
- spark 操作hbase
HBase经过七年发展,终于在今年2月底,发布了 1.0.0 版本.这个版本提供了一些让人激动的功能,并且,在不牺牲稳定性的前提下,引入了新的API.虽然 1.0.0 兼容旧版本的 API,不过还是应 ...
- Spark操作hbase
于Spark它是一个计算框架,于Spark环境,不仅支持单个文件操作,HDFS档,同时也可以使用Spark对Hbase操作. 从企业的数据源HBase取出.这涉及阅读hbase数据,在本文中尽快为了尽 ...
- 使用spark集成kudu做DDL
spark对kudu表的创建 定义kudu的表需要分成5个步骤: 1:提供表名 2:提供schema 3:提供主键 4:定义重要选项:例如:定义分区的schema 5:调用create Table a ...
- Spark操作实战
1. local模式 $SPARK_HOME/bin/spark-shell --master local import org.apache.log4j.{Level,Logger} // 导入ja ...
- Spark操作算子本质-RDD的容错
Spark操作算子本质-RDD的容错spark模式1.standalone master 资源调度 worker2.yarn resourcemanager 资源调度 nodemanager在一个集群 ...
随机推荐
- os.date
代码中有一段如下: local date = os.date("*t", set) if date then luci.sys.call("date ...
- 外网zabbix-server使用主动模式监控公司内网windows服务器
外网zabbix-server使用主动模式监控公司内网windows服务器 1.Zabbix Agent active批量调整客户端为主动模式监控将Template OS Windows模板调整为主动 ...
- Zabbix监控nginx性能的另外一种方式
Zabbix监控nginx性能的另外一种方式 nginx和php-fpm一样内建了一个状态页,对于想了解nginx的状态以及监控nginx非常有用,为了后续的zabbix监控,我们需要先启用nginx ...
- LabVIEW-PC-PLC-MCU串口通信-介绍很全
链接:https://pan.baidu.com/s/1dG9nuPN 密码:vnpf
- python pip下载速度慢的解决方法
pip是python内置的非常好用的下载工具,基本可以下载全部的python库.它还有一个非常好的特点,当你安装一个库的时候,它会自动帮你安装所有这个库的依赖库.完全一键式操作.非常方便.但是由于pi ...
- 解决访问swaggerUI接口文档显示basic-error-controler问题
问题描述 使用swagger生成接口文档后,访问http://localhost:8888/swagger-ui.html#/,显示如下: 有些强迫症的我,感觉看起来很不舒服,结果百度了好久,找到解决 ...
- [转]phpstorm激活码注册码序列号
浏览器打开 http://idea.lanyus.com/ , 点击页面中的“获得注册码”,然后在注册时切换至Activation Code选项,输入获得的注册码一长串字符串,就可以注册成功!(推荐方 ...
- nginx负载均衡后端tomcat无法加载js资源
JS或css无法完全加载 nginx的代理缓存区,默认较小导致部分文件出现加载不全的问题,比较典型的如jQuery框架,可以通过配置调整nginx的缓存区即可.主要参考proxy参数 最终完整配置如下 ...
- java.text.DateFormat 日期格式化
一: java.text.DateFormat <%@ page language="java" contentType="text/html; charset=u ...
- python操作注册表
#注册表操作 # -*- coding: utf-8 -*- import win32api import win32con #打开注册表:传主键化值,子键值,操作方法(win32con.KEY_AL ...