flink1.11.2写hive3.12的分区表,flink新创建的分区数据hive无法识别,在hdfs上能看到写入了文件,但是hive读取不了分区。
需要执行msck repair table修复分区表后,hive才能读取到数据。 求助大佬,要如何解决。 -- kingdomad |
程序中,创建表后,执行命令。
kingdomad <[hidden email]> 于2020年12月21日周一 下午4:55写道: > flink1.11.2写hive3.12的分区表,flink新创建的分区数据hive无法识别,在hdfs上能看到写入了文件,但是hive读取不了分区。 > 需要执行msck repair table修复分区表后,hive才能读取到数据。 > 求助大佬,要如何解决。 > > > > > > > > > > > > > > > > > -- > > kingdomad > > |
即使不是flink写入,其他方式写入也需要这样做的哈。
r pp <[hidden email]> 于2020年12月21日周一 下午9:28写道: > 程序中,创建表后,执行命令。 > > kingdomad <[hidden email]> 于2020年12月21日周一 下午4:55写道: > > > > flink1.11.2写hive3.12的分区表,flink新创建的分区数据hive无法识别,在hdfs上能看到写入了文件,但是hive读取不了分区。 > > 需要执行msck repair table修复分区表后,hive才能读取到数据。 > > 求助大佬,要如何解决。 > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > kingdomad > > > > > |
具体是怎么写hive的呢?
On Mon, Dec 21, 2020 at 11:28 PM 赵一旦 <[hidden email]> wrote: > 即使不是flink写入,其他方式写入也需要这样做的哈。 > > r pp <[hidden email]> 于2020年12月21日周一 下午9:28写道: > > > 程序中,创建表后,执行命令。 > > > > kingdomad <[hidden email]> 于2020年12月21日周一 下午4:55写道: > > > > > > > > flink1.11.2写hive3.12的分区表,flink新创建的分区数据hive无法识别,在hdfs上能看到写入了文件,但是hive读取不了分区。 > > > 需要执行msck repair table修复分区表后,hive才能读取到数据。 > > > 求助大佬,要如何解决。 > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > kingdomad > > > > > > > > > -- Best regards! Rui Li |
In reply to this post by nobleyd
分区用的是记录中的字段,没有用到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,"赵一旦" <[hidden email]> 写道: >即使不是flink写入,其他方式写入也需要这样做的哈。 > >r pp <[hidden email]> 于2020年12月21日周一 下午9:28写道: > >> 程序中,创建表后,执行命令。 >> >> kingdomad <[hidden email]> 于2020年12月21日周一 下午4:55写道: >> >> > >> flink1.11.2写hive3.12的分区表,flink新创建的分区数据hive无法识别,在hdfs上能看到写入了文件,但是hive读取不了分区。 >> > 需要执行msck repair table修复分区表后,hive才能读取到数据。 >> > 求助大佬,要如何解决。 >> > >> > >> > >> > >> > >> > >> > >> > >> > >> > >> > >> > >> > >> > >> > >> > >> > -- >> > >> > kingdomad >> > >> > >> |
Hello
请问是使用 Sql吧?开启cp了吗? ---原始邮件--- 发件人: "kingdomad"<[hidden email]> 发送时间: 2020年12月23日(周三) 上午9:17 收件人: "user-zh"<[hidden email]>; 主题: 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,"赵一旦" <[hidden email]> 写道: >即使不是flink写入,其他方式写入也需要这样做的哈。 > >r pp <[hidden email]> 于2020年12月21日周一 下午9:28写道: > >> 程序中,创建表后,执行命令。 >> >> kingdomad <[hidden email]> 于2020年12月21日周一 下午4:55写道: >> >> > >> flink1.11.2写hive3.12的分区表,flink新创建的分区数据hive无法识别,在hdfs上能看到写入了文件,但是hive读取不了分区。 >> > 需要执行msck repair table修复分区表后,hive才能读取到数据。 >> > 求助大佬,要如何解决。 >> > >> > >> > >> > >> > >> > >> > >> > >> > >> > >> > >> > >> > >> > >> > >> > >> > -- >> > >> > kingdomad >> > >> > >> |
是的。开启了checkpoint。
消费kafka,用tableEnv把stream注册成TemporaryView。 然后执行sql写入到hive的表中。 -- kingdomad 在 2020-12-23 09:22:48,"范瑞" <[hidden email]> 写道: >Hello > > >请问是使用 Sql吧?开启cp了吗? > > > >---原始邮件--- >发件人: "kingdomad"<[hidden email]> >发送时间: 2020年12月23日(周三) 上午9:17 >收件人: "user-zh"<[hidden email]>; >主题: 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,"赵一旦" <[hidden email]> 写道: >>即使不是flink写入,其他方式写入也需要这样做的哈。 >> >>r pp <[hidden email]> 于2020年12月21日周一 下午9:28写道: >> >>> 程序中,创建表后,执行命令。 >>> >>> kingdomad <[hidden email]> 于2020年12月21日周一 下午4:55写道: >>> >>> > >>> flink1.11.2写hive3.12的分区表,flink新创建的分区数据hive无法识别,在hdfs上能看到写入了文件,但是hive读取不了分区。 >>> > 需要执行msck repair table修复分区表后,hive才能读取到数据。 >>> > 求助大佬,要如何解决。 >>> > >>> > >>> > >>> > >>> > >>> > >>> > >>> > >>> > >>> > >>> > >>> > >>> > >>> > >>> > >>> > >>> > -- >>> > >>> > kingdomad >>> > >>> > >>> |
In reply to this post by kingdomad
流数据写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 <[hidden email]> 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,"赵一旦" <[hidden email]> 写道: > >即使不是flink写入,其他方式写入也需要这样做的哈。 > > > >r pp <[hidden email]> 于2020年12月21日周一 下午9:28写道: > > > >> 程序中,创建表后,执行命令。 > >> > >> kingdomad <[hidden email]> 于2020年12月21日周一 下午4:55写道: > >> > >> > > >> > flink1.11.2写hive3.12的分区表,flink新创建的分区数据hive无法识别,在hdfs上能看到写入了文件,但是hive读取不了分区。 > >> > 需要执行msck repair table修复分区表后,hive才能读取到数据。 > >> > 求助大佬,要如何解决。 > >> > > >> > > >> > > >> > > >> > > >> > > >> > > >> > > >> > > >> > > >> > > >> > > >> > > >> > > >> > > >> > > >> > -- > >> > > >> > kingdomad > >> > > >> > > >> > -- Best regards! Rui Li |
In reply to this post by kingdomad
Hi,
Hive 自动添加分区依赖于分区提交策略 metastore,所以得添加policy配置才能生效 > 2020年12月23日 上午9:27,kingdomad <[hidden email]> 写道: > > 是的。开启了checkpoint。 > 消费kafka,用tableEnv把stream注册成TemporaryView。 > 然后执行sql写入到hive的表中。 > > > > > > > > > > > > > > -- > > kingdomad > > > > > > > > 在 2020-12-23 09:22:48,"范瑞" <[hidden email]> 写道: >> Hello >> >> >> 请问是使用 Sql吧?开启cp了吗? >> >> >> >> ---原始邮件--- >> 发件人: "kingdomad"<[hidden email]> >> 发送时间: 2020年12月23日(周三) 上午9:17 >> 收件人: "user-zh"<[hidden email]>; >> 主题: 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,"赵一旦" <[hidden email]> 写道: >> >即使不是flink写入,其他方式写入也需要这样做的哈。 >> > >> >r pp <[hidden email]> 于2020年12月21日周一 下午9:28写道: >> > >> >> 程序中,创建表后,执行命令。 >> >> >> >> kingdomad <[hidden email]> 于2020年12月21日周一 下午4:55写道: >> >> >> >> > >> >> flink1.11.2写hive3.12的分区表,flink新创建的分区数据hive无法识别,在hdfs上能看到写入了文件,但是hive读取不了分区。 >> >> > 需要执行msck repair table修复分区表后,hive才能读取到数据。 >> >> > 求助大佬,要如何解决。 >> >> > >> >> > >> >> > >> >> > >> >> > >> >> > >> >> > >> >> > >> >> > >> >> > >> >> > >> >> > >> >> > >> >> > >> >> > >> >> > >> >> > -- >> >> > >> >> > kingdomad >> >> > >> >> > >> >> |
Free forum by Nabble | Edit this page |