Hi, 是说写数据的是一个流作业,读数据的是一个批作业么?
On Tue, Dec 22, 2020 at 5:51 PM Jacob <[email protected]> wrote: > Dear all, > > 我目前有个Flink job,执行完所以业务逻辑后生成了一些业务数据,然后将这些数据以ORC格式写到hdfs上,并调用hive api > 将orc文件load到Hive表,至此flink job的工作结束。 > > 后面,其他Java定时程序做Mapreduce,对上一步写进hive的数据进行后续操作。 > > 现在升级了Flink版本,Flink可以直接操作hive,不再依赖于Mapreduce。 > > 但这样一来,是不是需要两个flink job ,一个用来生成业务数据,一个用来操作hive 来处理这些业务数据 > > 因为两个job的执行环境不一样,如果不操作hive,是这样的操作环境 > > > StreamExecutionEnvironment env = > StreamExecutionEnvironment.getExecutionEnvironment(); > .... > env.execute("my job"); > 如果操作hive,就需要构造这样的操作的环境 > > > EnvironmentSettings settings = > EnvironmentSettings.newInstance().inBatchMode().build(); > TableEnvironment tableEnv = TableEnvironment.create(settings); > ...... > tableEnv.executeSql(hql); > > 有没有什么通用的方案,让这两个job合二为一呢?我想要的效果时,当生成完业务数据后,直接操作hive,取代mapreduce的工作。 > > > > ----- > Thanks! > Jacob > -- > Sent from: http://apache-flink.147419.n8.nabble.com/ -- Best regards! Rui Li
