DataFrame API应用案例
DataFrame API
1、collect与collectAsList
、 collect返回一个数组,包含DataFrame中的全部Rows
collectAsList返回一个Java List,包含DataFrame中包含的全部Rows
2、count
返回DataFrame的rows的个数
3、first
返回第一个row
4、head
不带参数的head方法,返回DataFrame的第一个Row。指定参数n时,则返回前那个Rows
5、show
不带参数的show,显示前20个Rows,指定个数n,则显示n个
6、take
返回DataFrame前n个Rows
7、cache
将DataFrame缓存到内存中
8、Columns
以数组的形式返回DataFrame的全部列名
9、dtypes
以数组的形式返回DataFrame的所有列名及其对应的数据类型
10、explain
用于调试的目的,不带参数时,仅将DataFrame的物理计划打印到控制台上;当指定参数extended为true时,打印所有计划到控制台上,包括物理计划、逻辑计划
11、isLocal
如果collect与take方法在本地运行时,返回true
12、printSchema
以树形结构将DataFrame的Schema信息打印到控制台
13、registerTempTable
将DataFrame注册为指定名字的临时表
14、schema
返回DataFrame的Schema信息,对应类型为StructType
15、toDF
不带参数的toDF返回它本身,带字符串数组的参数时,返回新的DataFrame,该DataFrame重命名了各列名
16、agg
将DataFrame提供不需要经过groups就可以执行的统计操作
17、apply
根据指定列名返回DataFrame的列,类型为Column
18、as
使用别名创建DataFrame
19、distinct
返回对DataFrame的Rows去重后的DataFrame
20、except
返回DataFrame,包含当前Frame的Rows,同时这些Rows不在另一个Frame中。相当于两个DataFrame做减法
21、explode
返回一个新的DataFrame,其中原来的每一列被指定的函数扩展成零行或多行
22、filter
按参数指定的sql表达式的条件过滤DataFrame
23、groupBy
使用一个或多个指定的列队DataFrame进行分组,以便对他们执行聚合操作
24、intersect
取两个DataFrame中同时存在的Rows,返回DataFrame
25、join
26、limit
返回DataFrame的前n个Rows
27、orderBy和sort
按指定的一列或多列进行排序,分别支持字符串或Column的参数列表
28、sample
按指定因子对DataFrame的Rows进行抽样,如果指定withReplacement为true时,使用指定的种子或随机的种子进行替换。
29、select
从DataFrame中选取指定的列,返回DataFrame,指定列有三种方式,可以用列名字符串的重复参数,或Column重复参数及列名表达式的多个参数指定
30、unionAll
联合调用者和参数这两个DataFrame的Rows
31、withColumn和withColumnRenamed
对DataFrame列进行操作,withColumn增加列信息,withColumnRenamed对列进行重命名
32、save
保存到指定路径下
33、saveAsParquetFile
保存到数据源为parquet的指定路径下
34、flatMap
对DataFrame中Rows进行处理,并且处理结果
35、foreach
36、map和mapPartitions
map将DataFrame的Row按指定的函数参数映射成R实例,并返回以R为元素的类型的RDD实例。mapPartitions类似
37、repartition
返回一个DataFrame,该DataFrame按指定numPartitions对原DataFrame进行重分区
38、toJSON
把DataFrame的内容用包含json字符串的RDD返回
39、queryExecution
返回DataFrame的查询执行语句,包含逻辑计划和物理计划
DataFrame API应用案例的更多相关文章
- spark操作Kudu之写 - 使用DataFrame API
在通过DataFrame API编写时,目前只支持一种模式“append”.尚未实现的“覆盖”模式 import org.apache.kudu.spark.kudu._ import org.apa ...
- 常用免费快递查询API对接案例
现在许多电商公司和ERP都会寻找比较适用的集成快递查询接口,减少对接难度,现在整理一下常用的免费快递查询接口,并附上调用案例,如果有觉得不对的地方,望能够一起沟通探讨! 一.快递查询接口 目前有提供免 ...
- JAVA Excel API学习案例
先贴代码吧,执行一下.看看效果,然后看看凝视,再看看代码后面的基础介绍 创建一个新excel并写入数据: public static void myExcel2() throws IOExceptio ...
- 小记--------sparksql和DataFrame的小小案例java、scala版本
sparksql是spark中的一个模块,主要用于进行结构化数据的处理,他提供的最核心的编程抽象,就是DataFrame.同时,sparksql还可以作为分布式的sql查询引擎. 最最重要的功能就是从 ...
- [SPDK/NVMe存储技术分析]013 - libibverbs API应用案例分析
本文是对论文Dissecting a Small InfiniBand Application Using the Verbs API所做的中英文对照翻译 Dissecting a Small Inf ...
- 【翻译】CSS Animations VS the Web Animations API:案例学习
原文地址:CSS Animations vs the Web Animations API: A Case Study May 03, 2017 css, javascript 上周我写了我如何使用C ...
- 百度地图web api使用案例
效果如下: 1.获取位置的经纬度: 如坐标:114.110033,22.541098 获取经纬度: http://api.map.baidu.com/lbsapi/getpoint/index.htm ...
- spark操作Kudu之读 - 使用DataFrame API
虽然我们可以通过上面显示的KuduContext执行大量操作,但我们还可以直接从默认数据源本身调用读/写API. 要设置读取,我们需要为Kudu表指定选项,命名我们要读取的表以及为表提供服务的Kudu ...
- cdnbest的proxy里api用法案例:
用户的proxy帐号里api key要设置好,那个key设置后是不显示的,但会显示已设置 key是自已随便生成的 $uid = 22222; $skey = 'langansafe&*#'; ...
随机推荐
- 当系统开启safe_mode和 open_basedir
当系统开启safe_mode和 open_basedir,在程序中使用以下语句curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1);并且遇到301,302状态吗时 ...
- Vue基于vuex、axios拦截器实现loading效果及axios的安装配置
准备 利用vue-cli脚手架创建项目 进入项目安装vuex.axios(npm install vuex,npm install axios) axios配置 项目中安装axios模块(npm in ...
- selenium自动新增店铺
说明:仅作为参考练习,代码中涉及数据均为测试数据. from selenium import webdriver from selenium.webdriver import ActionChains ...
- asp.net中的<% %>,<%= %>,<%# %><%$ %>的使用
原文:https://www.cnblogs.com/Hackerman/p/3857630.html 首先我们来看一下<% %>的使用 在aspx的页面中只能使用服务器控件和一般的控件, ...
- Vue 实现文件的下载
上次说了,实现文件的上传需要三步,那么实现文件的下载呢? 答:也是三步 第一步:获取文件的 fileId (或者别的什么的,总之应该是代表这个文件的东西),各家后台需要的都不一样 第二步:调用接口 t ...
- Spark2.0基于广播变量broadcast实现实时数据按天统计
package com.gm.hive.SparkHive; import java.text.SimpleDateFormat; import java.util.Arrays; import ja ...
- MyBatis联表查询——别名方式
在使用MyBatis你想工程时,单表操作其实是非常完美的,涉及到多表联合查询时,需要我们自己写联表的SQL语句. 我拿出项目中的部分代码作为示例, EmployeeMapper.xml: <?x ...
- rsync 和 inotify 结合
我们知道 rsync 可以实现推送和拉取,而 inotify-tools 借助内核的 inotify 机制实现了文件的 实时监控.因此,借助这个思路,我们可以通过使用 shell 脚本,调整 inot ...
- [CQOI2015]网络吞吐量(网络流+SPFA)
[CQOI2015]网络吞吐量 题目描述 路由是指通过计算机网络把信息从源地址传输到目的地址的活动,也是计算机网络设计中的重点和难点.网络中实现路由转发的硬件设备称为路由器.为了使数据包最快的到达目的 ...
- 记录一次 Linux crontab 执行django 脚本 失败 的经历和解决办法
目的是想通过定时任务来执行一次数据统计,本来可以用celery来做,但是想着这个项目整个就没用到异步的地方,所以决定用crontab来做.之前做过数据库的热备份,想来用该没啥问题,但是现实打脸啪啪响. ...