Spark学习07——创建DataFrame的方法
程序员文章站
2022-06-03 18:55:28
...
一、简介
基于Row的DateSet就是DataFrame,即DataFrame是DateSet的一个子集,DataFrame只是DateSet的叫法
二、创建方法
1. 使用toDF函数创建DataFrame
object CreateDataFrameFun {
def main(args: Array[String]): Unit = {
val spark = SparkSession
.builder()
.master("local[*]")
.appName("Spark SQL basic example")
.getOrCreate()
import spark.implicits._
val df = Seq(
(1, "First Value", java.sql.Date.valueOf("2010-01-01")),
(2, "Second Value", java.sql.Date.valueOf("2010-02-01"))
).toDF("int_column", "string_column", "date_column")
df.foreach(x =>println(x))
spark.stop()
}
}
2. case class(bean) + toDF创建DataFrame
object CreateDataFrameFun {
case class Person (name: String, age: Long)
def main(args: Array[String]): Unit = {
val spark = SparkSession
.builder()
.master("local[*]")
.appName("Spark SQL basic example")
.getOrCreate()
import spark.implicits._
// Create an RDD of Person objects from a text file, convert it to a Dataframe
val peopleDF = spark.sparkContext
.textFile("examples/src/main/resources/people.txt")
.map(_.split(","))
.map(attributes => Person(attributes(0), attributes(1).trim.toInt))
.toDF()
peopleDF.foreach(x =>println(x))
spark.stop()
}
}
3. 使用createDataFrame函数创建DataFrame
object CreateDataFrameFun {
def main(args: Array[String]): Unit = {
val spark = SparkSession
.builder()
.master("local[*]")
.appName("Spark SQL basic example")
.getOrCreate()
val sc = sparkSession.sparkContext
import org.apache.spark.sql.types._
val schema = StructType(List(
StructField("integer_column", IntegerType, nullable = false),
StructField("string_column", StringType, nullable = true),
StructField("date_column", DateType, nullable = true)
))
val rdd = sc.parallelize(Seq(
Row(1, "First Value", java.sql.Date.valueOf("2010-01-01")),
Row(2, "Second Value", java.sql.Date.valueOf("2010-02-01"))
))
val df = sparkSession.sqlContext.createDataFrame(rdd, schema)
df.foreach(x =>println(x))
spark.stop()
}
}
上一篇: 给雕塑纹了眉,抹了口红,这是什么情节
下一篇: DataFrame
推荐阅读
-
spark dataframe 将一列展开,把该列所有值都变成新列的方法
-
大数据学习系列之八----- Hadoop、Spark、HBase、Hive搭建环境遇到的错误以及解决方法
-
Python学习---面向对象---类的定义、创建及对象方法的调用
-
MySQL学习笔记之创建、删除、修改表的方法
-
Java和scala实现 Spark RDD转换成DataFrame的两种方法小结
-
MySQL学习笔记之创建、删除、修改表的方法
-
Java和scala实现 Spark RDD转换成DataFrame的两种方法小结
-
spark: RDD与DataFrame之间的相互转换方法
-
利用Pandas 创建空的DataFrame方法
-
spark dataframe 将一列展开,把该列所有值都变成新列的方法