SPARK SQL
results = spark.sql( "SELECT * FROM people")
//读取JSON文件
val userScoreDF = spark.read.json("hdfs://master:9000/people.json")
Spark内置函数的使用
? ? ? ?除select()外,还可以使用filter()、groupBy()等方法对DataFrame数据进行过滤和分组,比如:
df.select(“name”).show()
df.select($“name”,$“age”+1).show()? ??//age列值增1
df.filter($“age”>20).show()
df.groupBy(“age”).count().show()
使用spark处理数据之后写入hive表:
使用saveAsTable()方法可以将一个DataFrame写入到指定的Hive表中。例如,加载students表的数据并转为DataFrame,然后将DataFrame写入Hive表hive_records中,代码:
//加载students表的数据为
DataFrame val studentsDF = spark.table("students")
//将DataFrame写入表hive_records中 studentsDF.write.mode(SaveMode.Overwrite).saveAsTable("hive_records")
//查询hive_records表数据并显示到控制
spark.sql("SELECT * FROM hive_records").show()
#新建表table_name,并且设置三个列组
create 'table_name','f1','f2','f3'??
#在表table_name的r1行f1:c1列中添加数据
put 'table_name' ,'f1:c1', 'hello world'
先使表无效,然后删除表
endable/disenable? ?#使表有效或无效
#删除表
drop ‘table_name’
#将第一行cf列组中的score数值改为99
put 'course','001','cf:score','99'
#查看表结构
describe 'table_name'
列出所有建立的表的名字
list?
#列出表所有相关内容
scan 'table_name'
#查看第r1行,f1列组,c1的值
get 'table_name' ,'r1',‘f1:c1’
#查看第r1行,f1列组,c1的值
get 'table_name','r1','f1:c3'
?
?
?
?
?
?