本文共 1996 字,大约阅读时间需要 6 分钟。
1.在本地创建一个文件,有id、name、age三列,用空格分隔,然后上传到hdfs上
vim /opt/person.txt
1 zhangsan 202 lisi 293 wangwu 254 zhaoliu 305 tianqi 356 kobe 40
//Spark session available as 'spark'.// 1.读取数据安装空格进行切分var lineRDD=sc.textFile("file:///opt/person.txt").map(_.split(" "))// 2.定义class样例类对象 用来接收文件数据case class Person(id:Int, name:String, age:Int)// 3.将读取出的RDD 关联到Person中val personRDD = lineRDD.map(x => Person(x(0).toInt, x(1), x(2).toInt)) // 4.将带有对象的RDDh转换成DataFrameval personDF = personRDD.toDF// 5.读取数据和schema元数据信息personDF.show// 6.展示出元数据信息(查看表结构)personDF.printSchema// 7.将personDF 转换为转换为临时表personDF.createOrReplaceTempView("t_person")// 8.编写SQL语句查询数据(可以根据自己的需求来写)spark.sql("select name from t_person").show
1.准备数据json数据
{ "name":"Michael"}{ "name":"Andy", "age":30}{ "name":"Justin", "age":19}
2.编写代码进行读取数据
// 1.读取数据将数据转换为DataFramevar jsonDF=spark.read.json("file:///opt/people.json")// 2.使用jsonDF 展示数据jsonDF.show
1.准备数据parquet数据
在Linux中的spark安装目录examples/src/main/resources
2.编写测试代码并读取数据
// 1.读取数据将数据转换为DataFramevar parquet=spark.read.parquet("file:export/servers/spark-2.2.0-bin-2.6.0-cdh5.14.0/examples/src/main/resources/users.parquet")// 2.数据展示arquet.show
1.准备数据
vim /opt/person.txt
1 zhangsan 202 lisi 293 wangwu 254 zhaoliu 305 tianqi 356 kobe 40
2.编写代码并读取数据
// 1.读取文件var fileRDD=sc.textFile("file:///opt/person.txt")// 2.将读取的数据转换为DataSetval ds1 = spark.createDataset(fileRDD)// 3.数据展示ds1.show
// 1.创建class样例类对象 用来保存数据case class Person(name:String,age:Int)// 2.定义一个列表存储数据var data = List(Person("zhangsan",20),Person("lisi",30))// 3.将列表转换成RDD类型 var dataRDD=sc.makeRDD(data)// 4.将RDD 转换为DataSetvar ds2=dataRDD.toDS// 5.数据展示ds2.show
// 1.创建class样例类对象 用来保存数据case class Person(name:String,age:Long)// 2.读取数据val jsonDF=spark.read.json("file:///opt/people.json")// 3.将读取的数据转化为DataSetval jsonDS=jsonDF.as[Person]// 4.数据展示jsonDS.show
转载地址:http://yokzi.baihongyu.com/