SparkSQL(Spark

  • 时间:
  • 浏览:0

在Spark中,DataFrame是三种生活以RDD为基础的分布式数据集,与传统RDBMS的表内部相似。与一般的RDD不同的是,DataFrame富含schema元信息,即DataFrame所表示的表数据集的每一列都富含名称和类型,它对于数据的内部具有很强的描述能力。否则Spark SQL不会 对藏于DataFrame身前的数据源以及作用于DataFrame之上的变换进行了针对性的优化,最终达到大幅提升运行时效率。

DataFrames具有如下特点:

获取更多内容不会 关注公众微信号 ScalaLearning

DataFrames在Spark-1.3.0中引入,主要解决使用Spark RDD API使用的门槛,使熟悉R语言等的数据分析师并能快速上手Spark下的数据分析工作,极大地扩大了Spark使用者的数量,将会DataFrames脱胎自SchemaRDD,否则它绿帘石适用于分布式大数据场景。相信在不久的将来,Spark将是大数据分析的终极归宿。

本文部分内容译自https://databricks.com/blog/2015/02/17/introducing-dataframes-in-spark-for-large-scale-data-science.html

假设Spark-1.4.0集群将会搭建好了,搭建土辦法 见每各自 另一篇文章,Spark-1.4.0集群搭建http://blog.csdn.net/lovehuangjiaju/article/details/46883973

这是本节关于DataFrames的基础操作,后期大伙儿 将对DataFrames内部原理、Schema及相关API的完整版使用进行深入介绍。

本教程中所有例子跑在Spark-1.4.0集群上

3 注册成表,并进行SparkSQL操作

从中不会 看得人DataFrame是带类型的

在spark安装目录中执行root@sparkmaster:/hadoopLearning/spark-1.4.0-bin-hadoop2.4# bin/spark-shell ,在Spark-1.4.0中,spark-shell除了自动创建SparkContext实例sc外,总要自动创建SQLContext实例sqlContext

2 从HDFS文件创建DataFrame,并进行相关操作

1 上传测试数据到hdfs上。本实验数据取自http://blog.csdn.net/bluejoe10000/article/details/41247857

中的sparkSQL_data.zip,关于数据的描述不会 参考对应博客中的文章,将sparkSQL_data.zip上传到SparkMaster,否则解决到根目录,利用hadoop fs -put /data / 进行文件上传,上传后的结果如下图: