val settings = EnvironmentSettings.newInstance().useBlinkPlanner().inStreamingMode().build()
val env = StreamExecutionEnvironment.getExecutionEnvironment
val tableEnvironment = StreamTableEnvironment.create(env,settings)
3.使用jdbc获取结果集
3.1创建样例类
private case class dict(dict_type:String, dict_name:String)
3.2创建jdbc连接获取结果集
val userName = "*******"
val password = "*******"
val driver = "org.apache.hive.jdbc.HiveDriver"
val hiveProperties = new Properties()
hiveProperties.setProperty("driver",driver)
hiveProperties.setProperty("userName",userName)
hiveProperties.setProperty("password",password)
Class.forName(driver)
val conn = DriverManager.getConnection("jdbc:hive2://*************",userName,password)
//查询为表数据,并将数据写入ArrayBuff
val res = conn.prepareStatement(
"""
|select dict_type1,dict_name1
|from dwd_order.t_dimersion_ed
|where dict_type = '003'
|""".stripMargin).executeQuery()
var arrayBuff:ArrayBuffer[dict] = ArrayBuffer()
while (res.next()) {
arrayBuff.append(dict(res.getString("dict_type1"),
res.getString("dict_name1")))
}
4.将ArrayBuff转化为DataStream后生成临时视图
//将数据转化成DataStream
val dimStream = env.fromCollection[dict](arrayBuff.toSeq)
//创建维表临时视图
tableEnvironment.createTemporaryView("temp_dict",dimStream)