Re: flink1.11.2写hive分区表,hive识别不到分区

2020-12-23 文章 admin
Hi,
Hive 自动添加分区依赖于分区提交策略 metastore,所以得添加policy配置才能生效

> 2020年12月23日 上午9:27,kingdomad  写道:
> 
> 是的。开启了checkpoint。
> 消费kafka,用tableEnv把stream注册成TemporaryView。
> 然后执行sql写入到hive的表中。
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> --
> 
> kingdomad
> 
> 
> 
> 
> 
> 
> 
> 在 2020-12-23 09:22:48,"范瑞" <836961...@qq.com> 写道:
>> Hello
>> 
>> 
>> 请问是使用 Sql吧?开启cp了吗?
>> 
>> 
>> 
>> ---原始邮件---
>> 发件人: "kingdomad"> 发送时间: 2020年12月23日(周三) 上午9:17
>> 收件人: "user-zh"> 主题: Re:Re: flink1.11.2写hive分区表,hive识别不到分区
>> 
>> 
>> 分区用的是记录中的字段,没有用到processing time或者event time去生成分区。
>> 发现只要给hive的表加上以下这三个属性就可以马上提交分区到metastore了。
>> 'sink.partition-commit.trigger'='process-time'
>> 'sink.partition-commit.delay'='0s'
>> 'sink.partition-commit.policy.kind'='metastore,success-file'
>> 
>> 
>> 
>> 
>> 
>> 
>> 
>> 
>> 
>> 
>> 
>> 
>> 
>> --
>> 
>> kingdomad
>> 
>> 
>> 
>> 
>> 
>> 
>> 
>> 在 2020-12-21 23:27:49,"赵一旦" > 即使不是flink写入,其他方式写入也需要这样做的哈。
>> 
>> r pp > 
>>  程序中,创建表后,执行命令。
>> 
>>  kingdomad > 
>>  
>>  
>> flink1.11.2写hive3.12的分区表,flink新创建的分区数据hive无法识别,在hdfs上能看到写入了文件,但是hive读取不了分区。
>>   需要执行msck repair table修复分区表后,hive才能读取到数据。
>>   求助大佬,要如何解决。
>>  
>>  
>>  
>>  
>>  
>>  
>>  
>>  
>>  
>>  
>>  
>>  
>>  
>>  
>>  
>>  
>>   --
>>  
>>   kingdomad
>>  
>>  
>> 



Re: Re: flink1.11.2写hive分区表,hive识别不到分区

2020-12-23 文章 Rui Li
流数据写hive分区表是需要额外的参数配置的。Flink 1.11里具体的参数可以参考这两个文档:

https://ci.apache.org/projects/flink/flink-docs-release-1.11/dev/table/hive/hive_streaming.html#streaming-writing
https://ci.apache.org/projects/flink/flink-docs-release-1.11/dev/table/connectors/filesystem.html#streaming-sink

On Wed, Dec 23, 2020 at 9:17 AM kingdomad  wrote:

> 分区用的是记录中的字段,没有用到processing time或者event time去生成分区。
> 发现只要给hive的表加上以下这三个属性就可以马上提交分区到metastore了。
> 'sink.partition-commit.trigger'='process-time'
> 'sink.partition-commit.delay'='0s'
> 'sink.partition-commit.policy.kind'='metastore,success-file'
>
>
>
>
>
>
>
>
>
>
>
>
>
> --
>
> kingdomad
>
>
>
>
>
>
>
> 在 2020-12-21 23:27:49,"赵一旦"  写道:
> >即使不是flink写入,其他方式写入也需要这样做的哈。
> >
> >r pp  于2020年12月21日周一 下午9:28写道:
> >
> >> 程序中,创建表后,执行命令。
> >>
> >> kingdomad  于2020年12月21日周一 下午4:55写道:
> >>
> >> >
> >>
> flink1.11.2写hive3.12的分区表,flink新创建的分区数据hive无法识别,在hdfs上能看到写入了文件,但是hive读取不了分区。
> >> > 需要执行msck repair table修复分区表后,hive才能读取到数据。
> >> > 求助大佬,要如何解决。
> >> >
> >> >
> >> >
> >> >
> >> >
> >> >
> >> >
> >> >
> >> >
> >> >
> >> >
> >> >
> >> >
> >> >
> >> >
> >> >
> >> > --
> >> >
> >> > kingdomad
> >> >
> >> >
> >>
>


-- 
Best regards!
Rui Li


Re:回复:Re:Re: flink1.11.2写hive分区表,hive识别不到分区

2020-12-22 文章 kingdomad
是的。开启了checkpoint。
消费kafka,用tableEnv把stream注册成TemporaryView。
然后执行sql写入到hive的表中。













--

kingdomad







在 2020-12-23 09:22:48,"范瑞" <836961...@qq.com> 写道:
>Hello
>
>
>请问是使用 Sql吧?开启cp了吗?
>
>
>
>---原始邮件---
>发件人: "kingdomad"发送时间: 2020年12月23日(周三) 上午9:17
>收件人: "user-zh"主题: Re:Re: flink1.11.2写hive分区表,hive识别不到分区
>
>
>分区用的是记录中的字段,没有用到processing time或者event time去生成分区。
>发现只要给hive的表加上以下这三个属性就可以马上提交分区到metastore了。
>'sink.partition-commit.trigger'='process-time'
>'sink.partition-commit.delay'='0s'
>'sink.partition-commit.policy.kind'='metastore,success-file'
>
>
>
>
>
>
>
>
>
>
>
>
>
>--
>
>kingdomad
>
>
>
>
>
>
>
>在 2020-12-21 23:27:49,"赵一旦" 即使不是flink写入,其他方式写入也需要这样做的哈。
>
>r pp 
> 程序中,创建表后,执行命令。
>
> kingdomad 
> 
> 
>flink1.11.2写hive3.12的分区表,flink新创建的分区数据hive无法识别,在hdfs上能看到写入了文件,但是hive读取不了分区。
>  需要执行msck repair table修复分区表后,hive才能读取到数据。
>  求助大佬,要如何解决。
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
>  --
> 
>  kingdomad
> 
> 
>


回复:Re:Re: flink1.11.2写hive分区表,hive识别不到分区

2020-12-22 文章 范瑞
Hello


请问是使用 Sql吧?开启cp了吗?



---原始邮件---
发件人: "kingdomad"

Re:Re: flink1.11.2写hive分区表,hive识别不到分区

2020-12-22 文章 kingdomad
分区用的是记录中的字段,没有用到processing time或者event time去生成分区。
发现只要给hive的表加上以下这三个属性就可以马上提交分区到metastore了。
'sink.partition-commit.trigger'='process-time'
'sink.partition-commit.delay'='0s'
'sink.partition-commit.policy.kind'='metastore,success-file'













--

kingdomad







在 2020-12-21 23:27:49,"赵一旦"  写道:
>即使不是flink写入,其他方式写入也需要这样做的哈。
>
>r pp  于2020年12月21日周一 下午9:28写道:
>
>> 程序中,创建表后,执行命令。
>>
>> kingdomad  于2020年12月21日周一 下午4:55写道:
>>
>> >
>> flink1.11.2写hive3.12的分区表,flink新创建的分区数据hive无法识别,在hdfs上能看到写入了文件,但是hive读取不了分区。
>> > 需要执行msck repair table修复分区表后,hive才能读取到数据。
>> > 求助大佬,要如何解决。
>> >
>> >
>> >
>> >
>> >
>> >
>> >
>> >
>> >
>> >
>> >
>> >
>> >
>> >
>> >
>> >
>> > --
>> >
>> > kingdomad
>> >
>> >
>>


Re: flink1.11.2写hive分区表,hive识别不到分区

2020-12-21 文章 Rui Li
具体是怎么写hive的呢?

On Mon, Dec 21, 2020 at 11:28 PM 赵一旦  wrote:

> 即使不是flink写入,其他方式写入也需要这样做的哈。
>
> r pp  于2020年12月21日周一 下午9:28写道:
>
> > 程序中,创建表后,执行命令。
> >
> > kingdomad  于2020年12月21日周一 下午4:55写道:
> >
> > >
> >
> flink1.11.2写hive3.12的分区表,flink新创建的分区数据hive无法识别,在hdfs上能看到写入了文件,但是hive读取不了分区。
> > > 需要执行msck repair table修复分区表后,hive才能读取到数据。
> > > 求助大佬,要如何解决。
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > > --
> > >
> > > kingdomad
> > >
> > >
> >
>


-- 
Best regards!
Rui Li


Re: flink1.11.2写hive分区表,hive识别不到分区

2020-12-21 文章 赵一旦
即使不是flink写入,其他方式写入也需要这样做的哈。

r pp  于2020年12月21日周一 下午9:28写道:

> 程序中,创建表后,执行命令。
>
> kingdomad  于2020年12月21日周一 下午4:55写道:
>
> >
> flink1.11.2写hive3.12的分区表,flink新创建的分区数据hive无法识别,在hdfs上能看到写入了文件,但是hive读取不了分区。
> > 需要执行msck repair table修复分区表后,hive才能读取到数据。
> > 求助大佬,要如何解决。
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> > --
> >
> > kingdomad
> >
> >
>


Re: flink1.11.2写hive分区表,hive识别不到分区

2020-12-21 文章 r pp
程序中,创建表后,执行命令。

kingdomad  于2020年12月21日周一 下午4:55写道:

> flink1.11.2写hive3.12的分区表,flink新创建的分区数据hive无法识别,在hdfs上能看到写入了文件,但是hive读取不了分区。
> 需要执行msck repair table修复分区表后,hive才能读取到数据。
> 求助大佬,要如何解决。
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
> --
>
> kingdomad
>
>


flink1.11.2写hive分区表,hive识别不到分区

2020-12-21 文章 kingdomad
flink1.11.2写hive3.12的分区表,flink新创建的分区数据hive无法识别,在hdfs上能看到写入了文件,但是hive读取不了分区。
需要执行msck repair table修复分区表后,hive才能读取到数据。
求助大佬,要如何解决。
















--

kingdomad