scala中rdd与dataframe的各种创建方式

创建RDD

1,从字符串创建rdd

sc.parallelize(xxx)

如:val testrdd=sc.parallelize(Seq((1,Array("1.0"),3),(2,Array("2.0"),6),(3,Array("3.0"),7),(1,Array("3.0"),7)))

2,从文件创建rdd

读文本文件

val citylevel = sc.textFile(HDFS_PATH)

.map(_.split(","))

.map(attributes=>Row(attributes(0).trim,attributes(1).trim))

创建DataFrame

1,从字符串创建dataframe

var test_df = Seq((1,Array("1.0"),3),(2,Array("2.0"),6),(3,Array("3.0"),7),(1,Array("3.0"),7)).toDF("imei","feature","id")

2,从rdd创建dataframe

rdd.toDF(xxx)

如:import spark.implicits._

val testrdd=sc.parallelize(Seq((1,Array("1.0"),3),(2,Array("2.0"),6),(3,Array("3.0"),7),(1,Array("3.0"),7)))

val testDF=testrdd.toDF("id","score","iemi")

3,从文件创建dataframe

(1)读parquet格式文件 val parquetFileDF = spark.read.parquet(HDFS_PATH)

(2)文本文件 :先从文件创建rdd,再从rdd转成dataframe

import spark.implicits._

val citylevel = sc.textFile(HDFS_PATH)

.map(_.split(","))

.map(attributes=>Row(attributes(0).trim,attributes(1).trim))

val cityDF = citylevel.toDF("cityid","citylevel")

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值