flink 1.11.2写hive 2.1.1 orc 遇到的问题

classic Classic list List threaded Threaded
7 messages Options
Reply | Threaded
Open this post in threaded view
|

flink 1.11.2写hive 2.1.1 orc 遇到的问题

yang xu
flink 版本1.11.2
hive 版本2.1.1  基于cdh 6.2.1
写普通表或parquet没问题,写orc报如下错误:
<http://apache-flink.147419.n8.nabble.com/file/t1150/flink_hive%E5%8C%85%E5%86%B2%E7%AA%81.png>

也看到其它邮件列表说修改:
flink-sql-connector-hive-2.2.0_2.11-1.11.2.jar
OrcFile:
WriterVersion CURRENT_WRITER = WriterVersion.HIVE_13083
重新编译即可,但是这样尝试之后还是报同样的错误,是Hive必须升级到3.x版本么?



--
Sent from: http://apache-flink.147419.n8.nabble.com/
Reply | Threaded
Open this post in threaded view
|

Re: flink 1.11.2写hive 2.1.1 orc 遇到的问题

Rui Li
Hi,

你的flink lib下都添加了哪些依赖呢,另外出问题的SQL是怎么写的?

On Thu, Dec 3, 2020 at 4:15 PM yang xu <[hidden email]> wrote:

> flink 版本1.11.2
> hive 版本2.1.1  基于cdh 6.2.1
> 写普通表或parquet没问题,写orc报如下错误:
> <
> http://apache-flink.147419.n8.nabble.com/file/t1150/flink_hive%E5%8C%85%E5%86%B2%E7%AA%81.png>
>
>
> 也看到其它邮件列表说修改:
> flink-sql-connector-hive-2.2.0_2.11-1.11.2.jar
> OrcFile:
> WriterVersion CURRENT_WRITER = WriterVersion.HIVE_13083
> 重新编译即可,但是这样尝试之后还是报同样的错误,是Hive必须升级到3.x版本么?
>
>
>
> --
> Sent from: http://apache-flink.147419.n8.nabble.com/
>


--
Best regards!
Rui Li
Reply | Threaded
Open this post in threaded view
|

Re: flink 1.11.2写hive 2.1.1 orc 遇到的问题

yang xu
Hi Rui Li
lib 下包如下:
 flink-csv-1.11.2.jar
 flink-dist_2.11-1.11.2.jar
 flink-json-1.11.2.jar
 flink-shaded-hadoop-3-uber-3.1.1.7.1.1.0-565-9.0.jar
 flink-shaded-zookeeper-3.4.14.jar
 flink-sql-connector-hive-2.2.0_2.11-1.11.2.jar
 flink-table_2.11-1.11.2.jar
 flink-table-api-java-bridge_2.11-1.11.2.jar
 flink-table-blink_2.11-1.11.2.jar
 flink-table-planner-blink_2.11-1.11.2.jar
 log4j-1.2-api-2.12.1.jar
 log4j-api-2.12.1.jar
 log4j-core-2.12.1.jar
 log4j-slf4j-impl-2.12.1.jar

写hive的语句就是简单的insert:
insert into hive_t1  SELECT  address  FROM  users

另外建表语句如下:
create table hive_t1(address string)
clustered by (address) into 8 buckets
stored as orc TBLPROPERTIES ('transactional'='true','orc.compress' =
'SNAPPY');

非常感谢你的解答!




--
Sent from: http://apache-flink.147419.n8.nabble.com/
Reply | Threaded
Open this post in threaded view
|

Re: flink 1.11.2写hive 2.1.1 orc 遇到的问题

Rui Li
Hi,

我会找个hive
2.1.1的环境来复现一下这个问题。不过首先要说明的是,目前flink不支持hive的ACID表,即使你这个例子的数据写成功了也不满足ACID的语义,在hive那边可能也读不了。

On Thu, Dec 3, 2020 at 5:23 PM yang xu <[hidden email]> wrote:

> Hi Rui Li
> lib 下包如下:
>  flink-csv-1.11.2.jar
>  flink-dist_2.11-1.11.2.jar
>  flink-json-1.11.2.jar
>  flink-shaded-hadoop-3-uber-3.1.1.7.1.1.0-565-9.0.jar
>  flink-shaded-zookeeper-3.4.14.jar
>  flink-sql-connector-hive-2.2.0_2.11-1.11.2.jar
>  flink-table_2.11-1.11.2.jar
>  flink-table-api-java-bridge_2.11-1.11.2.jar
>  flink-table-blink_2.11-1.11.2.jar
>  flink-table-planner-blink_2.11-1.11.2.jar
>  log4j-1.2-api-2.12.1.jar
>  log4j-api-2.12.1.jar
>  log4j-core-2.12.1.jar
>  log4j-slf4j-impl-2.12.1.jar
>
> 写hive的语句就是简单的insert:
> insert into hive_t1  SELECT  address  FROM  users
>
> 另外建表语句如下:
> create table hive_t1(address string)
> clustered by (address) into 8 buckets
> stored as orc TBLPROPERTIES ('transactional'='true','orc.compress' =
> 'SNAPPY');
>
> 非常感谢你的解答!
>
>
>
>
> --
> Sent from: http://apache-flink.147419.n8.nabble.com/
>


--
Best regards!
Rui Li
Reply | Threaded
Open this post in threaded view
|

Re: flink 1.11.2写hive 2.1.1 orc 遇到的问题

yang xu
This post was updated on .
Hi
如果不支持ACID,那如果监听binlog日志的更新和删除操作需要另外写任务来处理么?


--
Sent from: http://apache-flink.147419.n8.nabble.com/
Reply | Threaded
Open this post in threaded view
|

Re: flink 1.11.2写hive 2.1.1 orc 遇到的问题

Rui Li
Hi,

现在CDC的数据是没办法直接对接hive的,目前流式数据写hive只能是insert-only的。

On Fri, Dec 4, 2020 at 10:56 AM yang xu <[hidden email]> wrote:

> Hi
> 如果不支持ACID,那如果监听binlog日志的更新和删除操作需要另外写任务来处理么,如何才能做到真的批流统一
>
>
>
> --
> Sent from: http://apache-flink.147419.n8.nabble.com/



--
Best regards!
Rui Li
Reply | Threaded
Open this post in threaded view
|

Re: flink 1.11.2写hive 2.1.1 orc 遇到的问题

Rui Li
Hello,

我试了一下用batch和streaming的方式写hive-2.1.1的orc表,batch模式没发现啥问题。在streaming模式下,如果把table.exec.hive.fallback-mapred-writer设为false时,会有依赖冲突,这是个已知问题,把这个参数设为true(默认值)应该可以避免。
另外我这边Hadoop的环境是2.7的,你的Hadoop是3.x么?

On Fri, Dec 4, 2020 at 9:27 PM Rui Li <[hidden email]> wrote:

> Hi,
>
> 现在CDC的数据是没办法直接对接hive的,目前流式数据写hive只能是insert-only的。
>
> On Fri, Dec 4, 2020 at 10:56 AM yang xu <[hidden email]> wrote:
>
>> Hi
>> 如果不支持ACID,那如果监听binlog日志的更新和删除操作需要另外写任务来处理么,如何才能做到真的批流统一
>>
>>
>>
>> --
>> Sent from: http://apache-flink.147419.n8.nabble.com/
>
>
>
> --
> Best regards!
> Rui Li
>


--
Best regards!
Rui Li