浅谈DataFrame和SparkSql取值误区


Posted in Python onJune 09, 2018

1、DataFrame返回的不是对象。

2、DataFrame查出来的数据返回的是一个dataframe数据集。

3、DataFrame只有遇见Action的算子才能执行

4、SparkSql查出来的数据返回的是一个dataframe数据集。

原始数据

scala> val parquetDF = sqlContext.read.parquet("hdfs://hadoop14:9000/yuhui/parquet/part-r-00004.gz.parquet")
df: org.apache.spark.sql.DataFrame = [timestamp: string, appkey: string, app_version: string, channel: string, lang: string, os_type: string, os_version: string, display: string, device_type: string, mac: string, network: string, nettype: string, suuid: string, register_days: int, country: string, area: string, province: string, city: string, event: string, use_interval_cat: string, use_duration_cat: string, use_interval: bigint, use_duration: bigint, os_upgrade_from: string, app_upgrade_from: string, page_name: string, event_name: string, error_type: string]

浅谈DataFrame和SparkSql取值误区

代码

package DataFrame
import org.apache.spark.sql.SQLContext
import org.apache.spark.{SparkConf, SparkContext}
/**
 * Created by yuhui on 2016/6/14.
 */
object DataFrameTest {
 def main(args: Array[String]) {
 DataFrameInto()
 }
 def DataFrameInto() {
 val conf = new SparkConf()
 val sc = new SparkContext(conf)
 val sqlContext = new SQLContext(sc)
 val df = sqlContext.read.parquet("hdfs://hadoop14:9000/yuhui/parquet")
 //df.map(line => printinfo(line.getString(0)))
 //df.foreach(line => printinfo(line.getString(0)+" , "+line.getString(14)+" , "+line.getString(15)))
 //df.select("timestamp","country","area").foreach(line=>printinfo(line.toString))
 df.registerTempTable("infotable")
 sqlContext.sql("SELECT timestamp , country , area from infotable").foreach(line=>printinfo(line.toString))
 }
 def printinfo(msg: String) {println("printinfo函数-->" + msg) }
}

代码解析

1、df.map(line => printinfo(line.getString(0)))

这段代码不行执行printinfo()函数,因为只有map算子,没有Action算子。

2、df.foreach(line => printinfo(line.getString(0)+" , "+line.getString(14)+" , "+line.getString(15)))

通过Spark的Action算子接收数据进行操作,执行结果如下:

浅谈DataFrame和SparkSql取值误区

3、df.select("timestamp","country","area").foreach(line=>printinfo(line.toString))

通过DataFrame的API进行操作,再通过Spark的Action算子打印出来,执行结果如下:

浅谈DataFrame和SparkSql取值误区

4、sqlContext.sql("SELECT timestamp , country , area from infotable").foreach(line=>printinfo(line.toString))

执行结果如下:

浅谈DataFrame和SparkSql取值误区

以上这篇浅谈DataFrame和SparkSql取值误区就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python使用urllib2模块抓取HTML页面资源的实例分享
May 03 Python
python机器学习实战之K均值聚类
Dec 20 Python
Python 元类实例解析
Apr 04 Python
python通过配置文件共享全局变量的实例
Jan 11 Python
解决python中画图时x,y轴名称出现中文乱码的问题
Jan 29 Python
Python开发网站目录扫描器的实现
Feb 21 Python
Python3网络爬虫中的requests高级用法详解
Jun 18 Python
python之pexpect实现自动交互的例子
Jul 25 Python
基于Python实现船舶的MMSI的获取(推荐)
Oct 21 Python
flask框架url与重定向操作实例详解
Jan 25 Python
python 监控logcat关键字功能
Sep 04 Python
如何Tkinter模块编写Python图形界面
Oct 14 Python
基于DATAFRAME中元素的读取与修改方法
Jun 08 #Python
pandas Dataframe行列读取的实例
Jun 08 #Python
python 给DataFrame增加index行名和columns列名的实现方法
Jun 08 #Python
python中for用来遍历range函数的方法
Jun 08 #Python
删除python pandas.DataFrame 的多重index实例
Jun 08 #Python
python爬虫正则表达式之处理换行符
Jun 08 #Python
pandas 数据实现行间计算的方法
Jun 08 #Python
You might like
php定界符
2014/06/19 PHP
PHP简单处理表单输入的特殊字符的方法
2016/02/03 PHP
php mysql 封装类实例代码
2016/09/18 PHP
PHP随机生成中文段落示例【测试网站内容时使用】
2020/04/26 PHP
用函数式编程技术编写优美的 JavaScript_ibm
2008/05/16 Javascript
基于jquery的下拉框改变动态添加和删除表格实现代码
2020/09/12 Javascript
使用jQuery异步加载 JavaScript脚本解决方案
2014/04/20 Javascript
js判断数组key是否存在(不用循环)的简单实例
2016/08/03 Javascript
JS实现带动画的回到顶部效果
2017/12/28 Javascript
jQuery实现高级检索功能
2019/05/28 jQuery
jQuery实现轮播图效果
2019/11/26 jQuery
在Angular中实现一个级联效果的下拉框的示例代码
2020/05/20 Javascript
Node.js 中如何收集和解析命令行参数
2021/01/08 Javascript
[55:02]2014 DOTA2国际邀请赛中国区预选赛 HGT VS Orenda
2014/05/21 DOTA
理解Python中的绝对路径和相对路径
2017/08/30 Python
django数据库migrate失败的解决方法解析
2018/02/08 Python
python简单操作excle的方法
2018/09/12 Python
浅谈pycharm使用及设置方法
2019/09/09 Python
Python帮你微信头像任意添加装饰别再@微信官方了
2019/09/25 Python
查看keras的默认backend实现方式
2020/06/19 Python
基于Python pyecharts实现多种图例代码解析
2020/08/10 Python
selenium设置浏览器为headless无头模式(Chrome和Firefox)
2021/01/08 Python
制定岗位职责的原则
2013/11/08 职场文书
法学研究生自我鉴定范文
2013/12/04 职场文书
二年级数学教学反思
2014/01/21 职场文书
校园文化建设方案
2014/02/03 职场文书
婚纱店策划方案
2014/05/22 职场文书
2014旅游局领导班子四风问题对照检查材料思想汇报
2014/09/19 职场文书
党员个人剖析材料2014
2014/10/08 职场文书
2014年人力资源工作总结
2014/11/19 职场文书
高三英语教学计划
2015/01/23 职场文书
2015年社区卫生工作总结
2015/04/21 职场文书
人事聘任通知
2015/04/21 职场文书
首次购房证明
2015/06/19 职场文书
2020年元旦祝福语录,总有适合你的
2019/12/31 职场文书
TensorFlow中tf.batch_matmul()的用法
2021/06/02 Python