def main(args: Array[String]): Unit = {
//创建批处理
val env = ExecutionEnvironment.getExecutionEnvironment
//设置并行毒
env.setParallelism(1)
//创建table的上下文环境对象
val tableenv = TableEnvironment.getTableEnvironment(env)
//创建一个list集合 用于导入数据
val list = List(
("xiaoming ", "english", 90),
("xiaoming ", "math", 80),
("xiaohong ", "english", 98),
("xiaohong ", "math", 82)
)
val w1 = env.fromCollection(list)
val w2 = w1.map(x=>Student(x._1,x._2,x._3))
//注册表
tableenv.registerDataSet("stu",w2)
//查询所有
val q1 = tableenv.sqlQuery("select * from stu")
val q2 = tableenv.sqlQuery("select subject,sum(score) from stu group by subject")
val q3 = tableenv.sqlQuery("select name,avg(score) from stu group by name")
val q4 = tableenv.sqlQuery("select * from stu where subject='english' order by score desc limit 1")
val q5 = tableenv.sqlQuery("select name,sum(score) from stu group by name ")
tableenv.toDataSet[Row](q5).print()
}
}
case class Student(name:String,subject:String,score:Int)