You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user-zh@flink.apache.org by yidan zhao <hi...@gmail.com> on 2021/11/16 09:36:07 UTC

FlinkSQL写hive orc表开启compact,任务异常重启,compact不生效?

如题,目前没有具体看是没生效,还是来不及compact。任务正常情况没问题,但是如果任务出现频繁错误,导致过一会重启一次,这种情况导致文件数暴增,compact功能不生效。

Re: FlinkSQL写hive orc表开启compact,任务异常重启,compact不生效?

Posted by yidan zhao <hi...@gmail.com>.
hi,还是这个问题,请问有什么确定的方法能确认某个文件属于无用,还是有用吗。
比如一种复杂的方式是:判定任务当前运行到什么时间点,比如14点,认为12点的数据已经完整了,则12点对应的分区中.开头文件都可以删除。但这种判定需要结合任务的watermark看任务跑到什么时间等,复杂性较高。
话说success文件可行吗,compact结束才有success?还是先有success后再慢慢compact呢。如果是前者,我可以写个ct脚本,遍历目录下存在success的情况下,则可以删除该目录下.开头的全部文件。

yidan zhao <hi...@gmail.com> 于2021年11月17日周三 上午10:22写道:

> 还有基于检查点启动,首先数据完整性最终实际没问题对吧。
>
> yidan zhao <hi...@gmail.com> 于2021年11月17日周三 上午10:22写道:
>
>> 出错原因是因为机器不稳定,tm超时等。
>> 话说这种有什么判别方法用于定期清理吗。
>>
>> Caizhi Weng <ts...@gmail.com> 于2021年11月17日周三 上午9:50写道:
>>
>>> Hi!
>>>
>>> 因为 compact 是在每次 checkpoint 的时候进行的,在做 checkpoint 之前产生的文件都是以 .
>>> 开头的,表示当前不可见。只有
>>> checkpoint
>>> 之后才会重命名为可见文件。因此如果任务频繁出现错误,这些不可见文件就会留在目录里,导致文件数增加。建议首先把任务为什么频繁出错查出来。
>>>
>>> yidan zhao <hi...@gmail.com> 于2021年11月16日周二 下午5:36写道:
>>>
>>> >
>>> >
>>> 如题,目前没有具体看是没生效,还是来不及compact。任务正常情况没问题,但是如果任务出现频繁错误,导致过一会重启一次,这种情况导致文件数暴增,compact功能不生效。
>>> >
>>>
>>

Re: flink sql建表异常问题

Posted by Shengkai Fang <fs...@gmail.com>.
打出来的jar中是否包含了 相应的依赖呢?

aiden <18...@163.com> 于2021年11月17日周三 下午2:34写道:

> 补充下抛错异常
> Caused by: org.apache.flink.table.api.NoMatchingTableFactoryException:
> Could not find a suitable table factory for
> 'org.apache.flink.table.delegation.ExecutorFactory' in
> the classpath.
>
> Reason: No factory implements
> 'org.apache.flink.table.delegation.ExecutorFactory'.
>
> The following properties are requested:
> class-name=org.apache.flink.table.planner.delegation.BlinkExecutorFactory
> streaming-mode=true
>
> The following factories have been considered:
> org.apache.flink.streaming.connectors.kafka.KafkaTableSourceSinkFactory
> at
> org.apache.flink.table.factories.TableFactoryService.filterByFactoryClass(TableFactoryService.java:215)
>
> at
> org.apache.flink.table.factories.TableFactoryService.filter(TableFactoryService.java:176)
>
> at
> org.apache.flink.table.factories.TableFactoryService.findAllInternal(TableFactoryService.java:164)
>
> at
> org.apache.flink.table.factories.TableFactoryService.findAll(TableFactoryService.java:121)
>
> at
> org.apache.flink.table.factories.ComponentFactoryService.find(ComponentFactoryService.java:50)
>
> at
> org.apache.flink.table.api.bridge.java.internal.StreamTableEnvironmentImpl.lookupExecutor(StreamTableEnvironmentImpl.java:185)
>
> ... 97 more
> SLF4J: Class path contains multiple SLF4J bindings.
> SLF4J: Found binding in
> [jar:file:/opt/soft/flink-1.13.0/lib/log4j-slf4j-impl-2.12.1.jar!/org/slf4j/impl/StaticLoggerBinder.class]
>
> SLF4J: Found binding in
> [jar:file:/opt/cloudera/parcels/CDH-6.3.2-1.cdh6.3.2.p0.1605554/jars/slf4j-log4j12-1.7.25.jar!/org/slf4j/impl/StaticLoggerBinder.class]
>
> SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an
> explanation.
> SLF4J: Actual binding is of type
> [org.apache.logging.slf4j.Log4jLoggerFactory]
>
> org.apache.flink.table.factories.TableSinkFactory
>
> pom部分文件
> <dependency>
>     <groupId>org.apache.flink</groupId>
>
> <artifactId>flink-table-planner-blink_${scala.binary.version}</artifactId>
>     <version>${flink.version}</version>
> </dependency>
> <dependency>
>     <groupId>org.apache.flink</groupId>
>
> <artifactId>flink-table-api-java-bridge_${scala.binary.version}</artifactId>
>     <version>${flink.version}</version>
> </dependency>
> <dependency>
>     <groupId>org.apache.flink</groupId>
>
> <artifactId>flink-table-api-scala-bridge_${scala.binary.version}</artifactId>
>     <version>${flink.version}</version>
>     <scope>provided</scope>
> </dependency>
>
>
>
> 您好
>       我将flink
> sql建表程序提交到k8s执行时抛出如下异常,网上提示需要引入flink-table-planner-blink等依赖,但实际pom文件中已经引入,请问这个该如何解决,附部分pom文件,flink版本为1.13。谢谢。
>

回复: flink sql建表异常问题

Posted by aiden <18...@163.com>.
补充下抛错异常
Caused by: org.apache.flink.table.api.NoMatchingTableFactoryException: Could not find a suitable table factory for 'org.apache.flink.table.delegation.ExecutorFactory' in 
the classpath. 
 
Reason: No factory implements 'org.apache.flink.table.delegation.ExecutorFactory'. 
 
The following properties are requested: 
class-name=org.apache.flink.table.planner.delegation.BlinkExecutorFactory 
streaming-mode=true 
 
The following factories have been considered: 
org.apache.flink.streaming.connectors.kafka.KafkaTableSourceSinkFactory 
at org.apache.flink.table.factories.TableFactoryService.filterByFactoryClass(TableFactoryService.java:215) 
at org.apache.flink.table.factories.TableFactoryService.filter(TableFactoryService.java:176) 
at org.apache.flink.table.factories.TableFactoryService.findAllInternal(TableFactoryService.java:164) 
at org.apache.flink.table.factories.TableFactoryService.findAll(TableFactoryService.java:121) 
at org.apache.flink.table.factories.ComponentFactoryService.find(ComponentFactoryService.java:50) 
at org.apache.flink.table.api.bridge.java.internal.StreamTableEnvironmentImpl.lookupExecutor(StreamTableEnvironmentImpl.java:185) 
... 97 more 
SLF4J: Class path contains multiple SLF4J bindings. 
SLF4J: Found binding in [jar:file:/opt/soft/flink-1.13.0/lib/log4j-slf4j-impl-2.12.1.jar!/org/slf4j/impl/StaticLoggerBinder.class] 
SLF4J: Found binding in [jar:file:/opt/cloudera/parcels/CDH-6.3.2-1.cdh6.3.2.p0.1605554/jars/slf4j-log4j12-1.7.25.jar!/org/slf4j/impl/StaticLoggerBinder.class] 
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation. 
SLF4J: Actual binding is of type [org.apache.logging.slf4j.Log4jLoggerFactory] 

org.apache.flink.table.factories.TableSinkFactory

pom部分文件
<dependency>
    <groupId>org.apache.flink</groupId>
    <artifactId>flink-table-planner-blink_${scala.binary.version}</artifactId>
    <version>${flink.version}</version>
</dependency>
<dependency>
    <groupId>org.apache.flink</groupId>
    <artifactId>flink-table-api-java-bridge_${scala.binary.version}</artifactId>
    <version>${flink.version}</version>
</dependency>
<dependency>
    <groupId>org.apache.flink</groupId>
    <artifactId>flink-table-api-scala-bridge_${scala.binary.version}</artifactId>
    <version>${flink.version}</version>
    <scope>provided</scope>
</dependency>



您好 
      我将flink sql建表程序提交到k8s执行时抛出如下异常,网上提示需要引入flink-table-planner-blink等依赖,但实际pom文件中已经引入,请问这个该如何解决,附部分pom文件,flink版本为1.13。谢谢。

flink sql建表异常问题

Posted by "18765295908@163.com" <18...@163.com>.
您好 
      我将flink sql建表程序提交到k8s执行时抛出如下异常,网上提示需要引入flink-table-planner-blink等依赖,但实际pom文件中已经引入,请问这个该如何解决,附部分pom文件,flink版本为1.13。谢谢。

Re: FlinkSQL写hive orc表开启compact,任务异常重启,compact不生效?

Posted by yidan zhao <hi...@gmail.com>.
还有基于检查点启动,首先数据完整性最终实际没问题对吧。

yidan zhao <hi...@gmail.com> 于2021年11月17日周三 上午10:22写道:

> 出错原因是因为机器不稳定,tm超时等。
> 话说这种有什么判别方法用于定期清理吗。
>
> Caizhi Weng <ts...@gmail.com> 于2021年11月17日周三 上午9:50写道:
>
>> Hi!
>>
>> 因为 compact 是在每次 checkpoint 的时候进行的,在做 checkpoint 之前产生的文件都是以 .
>> 开头的,表示当前不可见。只有
>> checkpoint
>> 之后才会重命名为可见文件。因此如果任务频繁出现错误,这些不可见文件就会留在目录里,导致文件数增加。建议首先把任务为什么频繁出错查出来。
>>
>> yidan zhao <hi...@gmail.com> 于2021年11月16日周二 下午5:36写道:
>>
>> >
>> >
>> 如题,目前没有具体看是没生效,还是来不及compact。任务正常情况没问题,但是如果任务出现频繁错误,导致过一会重启一次,这种情况导致文件数暴增,compact功能不生效。
>> >
>>
>

Re: FlinkSQL写hive orc表开启compact,任务异常重启,compact不生效?

Posted by yidan zhao <hi...@gmail.com>.
出错原因是因为机器不稳定,tm超时等。
话说这种有什么判别方法用于定期清理吗。

Caizhi Weng <ts...@gmail.com> 于2021年11月17日周三 上午9:50写道:

> Hi!
>
> 因为 compact 是在每次 checkpoint 的时候进行的,在做 checkpoint 之前产生的文件都是以 . 开头的,表示当前不可见。只有
> checkpoint
> 之后才会重命名为可见文件。因此如果任务频繁出现错误,这些不可见文件就会留在目录里,导致文件数增加。建议首先把任务为什么频繁出错查出来。
>
> yidan zhao <hi...@gmail.com> 于2021年11月16日周二 下午5:36写道:
>
> >
> >
> 如题,目前没有具体看是没生效,还是来不及compact。任务正常情况没问题,但是如果任务出现频繁错误,导致过一会重启一次,这种情况导致文件数暴增,compact功能不生效。
> >
>

Re: FlinkSQL写hive orc表开启compact,任务异常重启,compact不生效?

Posted by Caizhi Weng <ts...@gmail.com>.
Hi!

因为 compact 是在每次 checkpoint 的时候进行的,在做 checkpoint 之前产生的文件都是以 . 开头的,表示当前不可见。只有
checkpoint
之后才会重命名为可见文件。因此如果任务频繁出现错误,这些不可见文件就会留在目录里,导致文件数增加。建议首先把任务为什么频繁出错查出来。

yidan zhao <hi...@gmail.com> 于2021年11月16日周二 下午5:36写道:

>
> 如题,目前没有具体看是没生效,还是来不及compact。任务正常情况没问题,但是如果任务出现频繁错误,导致过一会重启一次,这种情况导致文件数暴增,compact功能不生效。
>