没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
MySQL:面试题
笔记本:
创建时间:
作者:
mysql
URL:
MySQL:面试题
Data Handling Questions:
Write code to read in a txt file, data.txt,
分割符
tab
订单表:
a
1
2
3
4
5
b
c
5
5
3
2
1
d
A
A
B
B
B
e
【淘宝】飞利浦电视
11
12
16
14
15
【微信】飞利浦电视
【京东】
OralB
牙刷
【微博】
OralB
牙刷
【百度】飞利浦电动牙刷
-find mean of c for each group in d
-put same index element of column c and d together in a new column f
-
把
e
里面的数据分成两部分,括号里面一部分作为
channel,
其他作为
product
-SQL question
-find mean of c for each group in d
以下是产品表:
product
飞利浦电视
cat
电视
OralB
牙刷 个人护理
飞利浦电动牙刷 个人护理
找到没个
cat
里的第一个和最后一个
a
的值,并把结果加到订单表里,结果按
cat b
, 的降序排序
编程解决:
package Dataset
import org.apache.spark.rdd.RDD
import org.apache.spark.sql.SparkSession
/**
* 用编程来处理
*/
object processDemo {
def split2Fun(line:String)=line.split("【|】")
////Q1:find mean of c for each group in d
def cMeamForGroupD(data:RDD[myTable])={
data.map(table=>
(table.d,table.c)
).groupByKey()
.map(t =>(t._1,t._2.sum/t._2.size))
//spark项目中一般不用groupByKey这个算子,不过现在为了方便用了这个算子
}
//Q3:把e里面的数据分成两部分,括号部分作为channel,其他作为product
def product2channelAndProduct(data:RDD[myTable]) ={
data.map(table=>
table.e
).map(line =>
split2Fun(line)
//为了显示加一个mkstring 操作
.mkString(" ")
)
}
case class myTable(a:Int,b:Int,c:Int,d:String,e:String)
case class product(prod:String,cat:String)
case class channelAndProduct(channel:String,product: String)
def main(args: Array[String]) {
val sparkSession: SparkSession = SparkSession.builder().appName("data set example")
.master("local").getOrCreate()
//mock data
val data: RDD[myTable] = sparkSession.sparkContext.makeRDD(
Seq(
资源评论
蚁库
- 粉丝: 30
- 资源: 99
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功