import org.apache.flink.api.scala._
import org.apache.flink.table.api.{Table, TableConfig, TableEnvironment}
import org.apache.flink.types.Row
object FlinkSqltest {
def main(args: Array[String]): Unit = {
val env = ExecutionEnvironment.getExecutionEnvironment
val date = env.readTextFile("D:\\ald\\flink_test\\src\\main\\resources\\data")
val datesteam: DataSet[PlayerData] = date.map(x => {
val strings = x.split(",")
PlayerData(strings(0), strings(1), strings(2).toInt, strings(3).toDouble, strings(4).toDouble, strings(5).toDouble, strings(6).toDouble, strings(7).toDouble)
})
val tableEnv = TableEnvironment.getTableEnvironment(env)//建立tableenv
val envtable: Table = tableEnv.fromDataSet(datesteam)//将dateset转换成table
tableEnv.registerTable("playerinfo", envtable)//注册表
val table = tableEnv.sqlQuery("select player,count(scores) num from playerinfo group by player order by num desc")
val dsrow: DataSet[Row] = tableEnv.toDataSet[Row](table)//将表转换为dataset
dsrow.print()
}
}
case class PlayerData(season: String, player: String, first_court: Integer, time: Double, assists: Double, steals: Double, blocks: Double, scores: Double)
//17-18,詹姆斯-哈登,72,72,35.4,8.8,1.8,0.7,30.4 //scheam赛季,球员,出场,首发,时间,助攻,抢断,盖帽,得分
Flink Sql代码举例
最新推荐文章于 2024-06-24 10:55:01 发布