1.RDD转成DataFrame的两种方式:
package df import org.apache.spark.sql.{Row, SparkSession} object RDD2DataFrame { case class Person(name: String, score: Int) def main(args: Array[String]): Unit = { //enableHiveSupport()开启支持hive val spark = SparkSession.builder().appName("DF_DEMO").master("local").getOrCreate() //---------------1.基于反射的方式(必须事先知道schema,通过case class定义schema,通过反射拿到case class中的字段和类型 ,spark1.6版本case class只支持22个字段,高版本不限制字段个数)--------------------- /** * 1.创建case class * 2.创建rdd => rdd [case class] => .toDF(). */ //导入隐式转换,才能调用toDF()方法 import spark.implicits._ /** * 测试数据内容如下: * a,100 * b,90 * c,80 */ val df = spark.sparkContext.textFile("file:///F:\\test\\2.txt").map(x => x.split(",")).map(x => Person(x(0), x(1).toInt)).toDF() df.show() /** * 输出结果: * +--------+ * | value| * +--------+ * |name : a| * |name : b| * |name : c| * +--------+ */ df.map(x => "name : " + x.getAs[String]("name")).show() //---------------2. 基于编程的方式指定 --------------------- /** * 1.创建schemaString => StructField => StructType * 2.创建rdd => Rdd[Row] * 3.spark.createDataFrame(rowRDD, StructType) */ //导入隐式转换(否则StringType找不到) import org.apache.spark.sql.types._ val schemaString = "name score" val fields = schemaString.split(" ").map(fieldName => StructField(fieldName, StringType, nullable = true)) val schema = StructType(fields) val rowRDD = spark.sparkContext.textFile("file:///F:\\test\\2.txt").map(x => x.split(",")).map(x => Row(x(0), x(1))) val df2 = spark.createDataFrame(rowRDD, schema) df2.show() spark.stop() } }
相关推荐
包括spara rdd api,dataframe action操作、查询操作、join操作,dataframe rdd dataset 相互转换以及spark sql。
今天小编就为大家分享一篇Java和scala实现 Spark RDD转换成DataFrame的两种方法小结,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
目录(Scala中的Spark示例)Spark RDD示例火花蓄能器介绍将Spark RDD转换为DataFrame | 数据集 Spark SQL教程Spark创建带有示例的DataFrame Spark DataFrame withColumn 重命名Spark DataFrame上的列的方法Spark –...
今天小编就为大家分享一篇spark: RDD与DataFrame之间的相互转换方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
机器学习(Machine Learning, ML)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识...
详细介绍了基于RDD的DataFrame数据结构以及操作接口。
spark在离线批处理或者实时计算中都可以将rdd转成dataframe进而通过简单的sql命令对数据进行操作,对于熟悉sql的人来说在转换和过滤过程很方便,甚至可以有更高层次的应用,比如在实时这一块,传入kafka的topic名称...
Apache Spark 2.0.2 中文文档 Spark 概述 编程指南 快速入门 Spark 编程指南 概述 Spark 依赖 Spark 的初始化 Shell 的使用 弹性分布式数据集(RDDS) 并行集合 外部数据集 RDD 操作 RDD 持久化 共享...
(2)熟悉 RDD 到 DataFrame 的转化方法; (3)熟悉利用 Spark SQL 管理来自不同数据源的数据。 (4)java程序实现SparkSQL 二、实验环境 Windows 10 VMware Workstation Pro虚拟机 Hadoop环境 Jdk1.8 三、实验...
熟悉Spark的分区对于Spark性能调优很重要,本文总结Spark通过各种函数创建RDD、DataFrame时默认的分区数,其中主要和sc.defaultParallelism、sc.defaultMinPartitions以及HDFS文件的Block数量有关,还有很坑的某些...
使用数据框的spark-hbase-ingestion / ** 转换记录以插入HBase的方法 @param记录 @param cf列族 @返回 */ def toHbaseRecords(记录:Array [(String,Array [(String,String)])],cf:String):RDD [...
Spark-Redis可从Spark作为RDD访问Redis的所有数据结构-字符串,哈希,列表,集合和排序集合。 它还支持使用DataFrames和Spark SQL语法进行读写。 该库可以与Redis独立数据库以及集群数据库一起使用。 与Redis群集...
Lucidworks Spark / Solr集成该项目包括用于从Solr作为Spark DataFrame / RDD读取数据以及使用SolrJ将对象从Spark索引到Solr的工具。 索引编制例子索引和查询Twitter数据索引和查询纽约市黄色出租车CSV数据配置和...
Spark SQL增加了DataFrame(即带有Schema信息的RDD),使用户可以在Spark SQL中执行SQL语句,数据既可以来自RDD,也可以是Hive、HDFS、Cassandra等外部数据源,还可以是JSON格式的数据 Spark SQL目前支持Scala、...
Databrciks工程师,Spark Committer,Spark SQL...Spark DataFrame vs.RDD,有些类似于动态语言和静态语言的区别,在很多场景下,DataFrame优势比较明显。1.3版中,Spark进一步完善了外部数据源API,并可智能进行优化。
1、Case Class 创建DataFrame 2、Tuple 创建DataFrame 3、JavaBean 创建DataFrame 4、Json 创建DataFrame 5、Row 创建DataFrame 6、set集合 创建DataFrame 7、map集合 创建DataFrame 8、Array数组 创建DataFrame 9、...
本文档介绍了Spark的简介、原理以及spark的系统架构,还有分别在Linux和windows下的单机配置,以及spark RDD和Spark DataFrame介绍