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

回复