本篇文章将介绍Spark SQL中的DataFrame,关于DataFrame的介绍可以参考:
https://blog.csdn.net/lemonzhaotao/article/details/80211231
在本篇文章中,将介绍RDD转换为DataFrame的2种方式
官网之RDD转DF:
http://spark.apache.org/docs/latest/sql-programming-guide.html#interoperating-with-rdds
ruozedata
本篇文章将介绍Spark SQL中的DataFrame,关于DataFrame的介绍可以参考:
https://blog.csdn.net/lemonzhaotao/article/details/80211231
在本篇文章中,将介绍RDD转换为DataFrame的2种方式
官网之RDD转DF:
http://spark.apache.org/docs/latest/sql-programming-guide.html#interoperating-with-rdds
近日,来自 Databricks 的 Matei Zaharia 宣布推出开源机器学习平台 MLflow 。Matei Zaharia 是 Apache Spark 和 Apache Mesos 的核心作者,也是 Databrick 的首席技术专家。Databrick 是由 Apache Spark 技术团队所创立的商业化公司。MLflow 目前已处于早期测试阶段,开发者可下载源码体验。
1.Spark1.2中,Spark SQL开始正式支持外部数据源。Spark SQL开放了一系列接入外部数据源的接口,来让开发者可以实现。使得Spark SQL可以加载任何地方的数据,例如mysql,hive,hdfs,hbase等,而且支持很多种格式如json, parquet, avro, csv格式。我们可以开发出任意的外部数据源来连接到Spark SQL,然后我们就可以通过外部数据源API来进行操作。
2.我们通过外部数据源API读取各种格式的数据,会得到一个DataFrame,这是我们熟悉的方式啊,就可以使用DataFrame的API或者SQL的API进行操作哈。
3.外部数据源的API可以自动做一些列的裁剪,什么叫列的裁剪,假如一个user表有id,name,age,gender4个列,在做select的时候你只需要id,name这两列,那么其他列会通过底层的优化去给我们裁剪掉。
4.保存操作可以选择使用SaveMode,指定如何保存现有数据(如果存在)。
Spark有两种内存管理模式,静态内存管理(Static MemoryManager)和动态(统一)内存管理(Unified MemoryManager)。动态内存管理从Spark1.6开始引入,在SparkEnv.scala中的源码可以看到,Spark目前默认采用动态内存管理模式,若将spark.memory.useLegacyMode设置为true,则会改为采用静态内存管理。
1 | // SparkEnv.scala |