sparksql

1.启动start-dfs.sh,然后启动,jupyter-noteboot  --ip python2

2.


看数据库中多出来一个数据库school


spark.sql("desc formatted testb").show()  -------------查看表格的所有信息

下边创建一个表



下边把数据导到这个student表中:


接着验证下写三条记录放追加到student表中

#这个列表中有三条记录 放在student表中
datas=[
    '8,test1,男,12',
    '9,test2,女,16',
    '5,test1,男,17',
]
rdd=sc.parallelize(datas)
rdd=rdd.map(lambda x:x.split(','))
rdd=rdd.map(lambda x:[int(x[0]),x[1],x[2],int(x[3])])
from pyspark.sql.types import *
sch=StructType([StructField('id',IntegerType(),True),
     StructField('name',StringType(),True),
     StructField('sex',StringType(),True),
     StructField('age',IntegerType(),True),
    ])
df=spark.createDataFrame(rdd,sch)
#创建一个视图,看一下不导入
df.createOrReplaceTempView('tmpV')
spark.sql("select * from tmpV").show()



sqlContext.sql("insert overwrite table tmp_table select * from table")

insert overwrite------------覆盖到表 没写就追加

#insert 到student表中
spark.sql("insert into table student select * from tmpV")
spark.sql("select * from student").show()

显示结果成功添加


完成之后,在把上边这些人名字和年龄提取出来放在一个新的表中

(1)先在上方创建一个新表 table    name_age




结果:



接下来用另外的一种存储方式:  stored as file_format(文件的格式,默认是textfile(文本文件))

parquet---------------另一种文件格式




用shell进入本地文件目录:/cd spark-warehouse/name_age2 会看到文件的后缀名是parquet文件


三种常件的存储文件的格式是:textfile(csv,json),后边这两个打开看不懂但压缩非常好orcfile() parquet()

上方演示的是如何读数据与写数据

接下来演示如何使用函数(hive 中的函数udf)

求student表中的学生年龄和:


男同学女同学年龄和:


男同学女同学平均值,最大年龄,最小年龄:







  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值