Re: 关于无法被看作POJO的类型,怎么转变可以让其不当作GenericType呢?

2021-03-31 文章 Lin Hou
你好,请问一下,这个问题是怎么解决的啊?

赵一旦  于2021年2月3日周三 下午1:59写道:

> 我看Flink的要求是public,每个属性要么public,要么有getter/setter。估计内嵌的属性也会递归检查的。
>
> ℡小新的蜡笔不见嘞、 <1515827...@qq.com> 于2021年2月3日周三 下午1:52写道:
>
> > 你好,我们是否可以通过对该类LinkedHashMap进行包装来实现当前功能呢?如果你需要PojoSerializer来序列化数据的话。
> >
> >
> >
> >
> > --原始邮件--
> > 发件人: "赵一旦" > 发送时间: 2021年2月3日(星期三) 中午1:24
> > 收件人: "user-zh" > 主题: 关于无法被看作POJO的类型,怎么转变可以让其不当作GenericType呢?
> >
> >
> >
> > 如题,按照flink对POJO的定义,感觉还是比较严格的。
> >
> >
> 我有个类是继承了LinkedHashMap的,就被当作GenericType了。像这种情况,我没办法去修改LinkedHashMap实现,同时也不好不继承。因为我一个实体是动态扩展,不清楚有多少属性的,需要json方式反序列化到Map类型上。
>


Re: [讨论] Flink Connector 并行写入数据方案

2021-03-31 文章 Shengkai Fang
Hi jie.

User mail list 更多是用来讨论使用中的问题,请将关于dev相关的问题转发到d...@flink.apache.org

详情可以参考[1]

[1] https://flink.apache.org/community.html

jie mei  于2021年3月31日周三 下午3:03写道:

> Hi, Community
>
> 我想发起一个初步的讨论,关于如何扩大 Flink 写入数据的并行度,并且能够分表,可选事务支持的方案。
>
> 该方案应该支持三种场景:
>
> 1) 至少一次: 不支持或者有限支持 update 的存储,通常通过查询去重。 例如 ClickHouse
> 2) 相同主键或分区内有序: 支持 Upsert,但不支持事务或者跨行事务的存储,例如 ElasticSearch, MongoDB
> 3) 事务:支持跨行事务的存储,例如 MySQL。
>
> 另外说一下,第二种情况和第三种情况的一个重要区别是,当 CheckPoint 失败,第二种情况会从上一个快照重新执行,
> 那么会存在旧的数据可能覆盖新的数据的情况。举个例子: 假设正常情况下记录A在某个快照区间取值为
> A1, A2, A3。假如在写入 A2 后快照失败,当重新执行的时候,会短暂的存在这种情况,A1 覆盖了 A2 的值。
>
> 下面是不同场景扩大并行度的方案
> 1) 至少一次:
> 在这种场景下,数据乱顺是可容忍的,只要保证最少一次,就能达到最终一致性。可以考虑多线程异步写入数据,
> 当异步任务过多,则等待有异步任务完成,再执行新的异步写入任务。CheckPoint需要保证所有异步任务完成
>
> 2) 相同主键或分区内有序,最少一次:
> 在这种场景下,如果指定了分区字段,可以将相同分区的数据放到一个 Buffer 里,相同 Buffer 的数据有序,
> 不同 Buffer的数据并行写入,CheckPoint的时候需要保证所有数据写入;如果没有分区,单指定了主键,可以
> 根据主键的 Hash Code 对 Sink 并行读取模,得到的值用于决定数据缓存到哪一个 Buffer,同样相同的 Buffer
> 内有序,不同的 Buffer 并行。
>
> 3) 事务:
> 由于已经有了通用的 Sink API,可以考虑把数据缓存到 Buffer, 在 CheckPoint 的时候,开启事务,完成写入数据,并提交。
> [FLIP-143]
>
> https://cwiki.apache.org/confluence/display/FLINK/FLIP-143%3A+Unified+Sink+API
>
> 分表:
> 对于 MySQL, MongoDB 这类存储,可以通过分区键来定义分表规则,假如表 A 定义了分区键 B,B 有 B1, B2 两个取值,
> 那么得到两个分表 A_B1, A_B2.
>
>
> --
>
> *Best Regards*
> *Jeremy Mei*
>


Re: Flink 1.12.2 sql api 使用parquet格式报错

2021-03-31 文章 Luna Wong
https://ci.apache.org/projects/flink/flink-docs-release-1.12/dev/table/connectors/formats/parquet.html
Parquet你要下这个Jar包放在你flink/lib目录的。

Luna Wong  于2021年4月1日周四 上午10:45写道:
>
> https://ci.apache.org/projects/flink/flink-docs-release-1.12/dev/table/connectors/formats/parquet.html
>
> 太平洋 <495635...@qq.com> 于2021年4月1日周四 上午10:26写道:
> >
> > 使用 parquet 还需要手段添加其他相关的依赖吗?
> >
> >
> > 环境和报错信息如下:
> >
> >
> > Flink 版本: 1.12.2
> > 部署方式: standalone kubernetes session
> > 添加的相关依赖
> > > 
> >  > 
> >  >  >  >
> >
> >
> > 错误信息:
> > Caused by: org.apache.flink.table.api.ValidationException: Could not find 
> > any format factory for identifier 'parquet' in the classpath. at 
> > org.apache.flink.table.filesystem.FileSystemTableSink. >  at 
> > org.apache.flink.table.filesystem.FileSystemTableFactory.createDynamicTableSink(FileSystemTableFactory.java:85)


Re: Flink 1.12.2 sql api 使用parquet格式报错

2021-03-31 文章 Luna Wong
https://ci.apache.org/projects/flink/flink-docs-release-1.12/dev/table/connectors/formats/parquet.html

太平洋 <495635...@qq.com> 于2021年4月1日周四 上午10:26写道:
>
> 使用 parquet 还需要手段添加其他相关的依赖吗?
>
>
> 环境和报错信息如下:
>
>
> Flink 版本: 1.12.2
> 部署方式: standalone kubernetes session
> 添加的相关依赖
> 
>  
>   
>
>
> 错误信息:
> Caused by: org.apache.flink.table.api.ValidationException: Could not find any 
> format factory for identifier 'parquet' in the classpath. at 
> org.apache.flink.table.filesystem.FileSystemTableSink.  at 
> org.apache.flink.table.filesystem.FileSystemTableFactory.createDynamicTableSink(FileSystemTableFactory.java:85)


Flink 1.12.2 sql api ????parquet????????

2021-03-31 文章 ??????
 parquet 





Flink ?? 1.12.2
?? standalone kubernetes session
??
   

Flink 1.12.2 sql api 使用parquet格式报错

2021-03-31 文章 霍米会
使用 parquet 还需要手段添加其他相关的依赖吗?


环境和报错信息如下:


Flink 版本: 1.12.2
部署方式: standalone kubernetes session
添加的相关依赖

  org.apache.flink
flink-parquet_2.11
1.12.2



错误信息:
Caused by: org.apache.flink.table.api.ValidationException: Could not find any 
format factory for identifier 'parquet' in the classpath. at 
org.apache.flink.table.filesystem.FileSystemTableSink.(FileSystemTableSink.java:124)
 at 
org.apache.flink.table.filesystem.FileSystemTableFactory.createDynamicTableSink(FileSystemTableFactory.java:85)

退订

2021-03-31 文章 zhaorui_9...@163.com
退订


zhaorui_9...@163.com


退订

2021-03-31 文章 孙晨瞳
退订

转发:FLIP-146中TableSource并行度设置预计哪个版本做?

2021-03-31 文章 张立志



退订

- 转发的邮件 -

发件人: Luna Wong
发送日期: 2021年03月31日 21:45
收件人: user-zh
主题: FLIP-146中TableSource并行度设置预计哪个版本做?
DynamicTableSource,目前ScanTable和LookupTable都不可自定义并行度。


Re: FLIP-146中TableSource并行度设置预计哪个版本做?

2021-03-31 文章 Luna Wong
DynamicTableSource,目前ScanTable和LookupTable都不可自定义并行度。
问题1:ScanTable 并行度在FLIP-146中有提及, LookupTable的并行度设置有FLIP或者issue吗?
问题2:这两类Table的并行度设置,预计在Flink哪个版本推出。

Luna Wong  于2021年3月31日周三 下午9:46写道:
>
> DynamicTableSource,目前ScanTable和LookupTable都不可自定义并行度。
>
> Luna Wong  于2021年3月31日周三 下午9:45写道:
> >
> > DynamicTableSource,目前ScanTable和LookupTable都不可自定义并行度。


Re: FLIP-146中TableSource并行度设置预计哪个版本做?

2021-03-31 文章 Luna Wong
DynamicTableSource,目前ScanTable和LookupTable都不可自定义并行度。

Luna Wong  于2021年3月31日周三 下午9:45写道:
>
> DynamicTableSource,目前ScanTable和LookupTable都不可自定义并行度。


FLIP-146中TableSource并行度设置预计哪个版本做?

2021-03-31 文章 Luna Wong
DynamicTableSource,目前ScanTable和LookupTable都不可自定义并行度。


yarn-per-job模式下,sql-client如何指定提交yarn的资源队列

2021-03-31 文章 姚波旭



yarn-per-job模式下,sql-client如何指定提交yarn的资源队列

2021-03-31 文章 姚波旭



对于多张亿级事实表的历史全量数据 regular join,通过mysql cdc怎样避免OOM,以及优化

2021-03-31 文章 王敏超
对于多张亿级事实表的历史全量数据 regular join,通过mysql cdc怎样避免OOM,以及优化?

求大佬们给点建议



--
Sent from: http://apache-flink.147419.n8.nabble.com/

flink 小文件合并及分区没数据无法提交问题

2021-03-31 文章 kandy.wang
1.flink 小文件合并
测试下来发现,同一分区在不同时期去查询数据量不断增长,直到分区下所有的文件都compact完成,才定下来 ? 
这个是什么原因。目前看起来像是分区提交没有等到分区下所有文件compact完成
2. 某些分区没数据时无法触发分区提交问题
我们实现了自定分区提交策略,为了通知离线下游。这样如果分区没数据,不能提交的话,就会把下游调度hang住。这种问题,怎么解决




 

flink 小文件合并及分区没数据无法提交问题

2021-03-31 文章 kandy.wang
1.flink 小文件合并
测试下来发现,同一分区在不同时期去查询数据量不断增长,直到分区下所有的文件都compact完成,才定下来 ? 
这个是什么原因。目前看起来像是分区提交没有等到分区下所有文件compact完成
2. 某些分区没数据时无法触发分区提交问题
我们实现了自定分区提交策略,为了通知离线下游。这样如果分区没数据,不能提交的话,就会把下游调度hang住。这种问题,怎么解决

yarn-per-job????????sql-client????????????yarn??????????

2021-03-31 文章 ????


flink1.12.0 python udf任务,集群可正常执行,本地执行报错:java.lang.RuntimeException: Failed to create stage bundle factory!

2021-03-31 文章 xiaoyue
使用python flink1.12 写了UDAF的处理函数,local执行的时候会报错:
已确定当前py3环境下安装了apache-flink1.12.0
希望路过的大佬,能帮忙分析一下~ 感谢!
Traceback (most recent call last):
  File "C:/projects/virtual_pyflink1.12/TestScript/udaf_timeWeightedReturn.py", 
line 199, in udaf_p_case
env.execute('UDAF_timeWeightReturn_p')
  File 
"C:\projects\virtual_pyflink1.12\lib\site-packages\pyflink\table\table_environment.py",
 line 1276, in execute
return JobExecutionResult(self._j_tenv.execute(job_name))
  File 
"C:\projects\virtual_pyflink1.12\lib\site-packages\py4j\java_gateway.py", line 
1286, in __call__
answer, self.gateway_client, self.target_id, self.name)
  File 
"C:\projects\virtual_pyflink1.12\lib\site-packages\pyflink\util\exceptions.py", 
line 147, in deco
return f(*a, **kw)
  File "C:\projects\virtual_pyflink1.12\lib\site-packages\py4j\protocol.py", 
line 328, in get_return_value
format(target_id, ".", name), value)
py4j.protocol.Py4JJavaError: An error occurred while calling o10.execute.
: org.apache.flink.runtime.client.JobExecutionException: Job execution failed.
at 
org.apache.flink.runtime.jobmaster.JobResult.toJobExecutionResult(JobResult.java:147)
at 
org.apache.flink.runtime.minicluster.MiniClusterJobClient.lambda$getJobExecutionResult$2(MiniClusterJobClient.java:119)
at java.util.concurrent.CompletableFuture.uniApply(CompletableFuture.java:602)
at 
java.util.concurrent.CompletableFuture$UniApply.tryFire(CompletableFuture.java:577)
at 
java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:474)
at java.util.concurrent.CompletableFuture.complete(CompletableFuture.java:1962)
at 
org.apache.flink.runtime.rpc.akka.AkkaInvocationHandler.lambda$invokeRpc$0(AkkaInvocationHandler.java:229)
at 
java.util.concurrent.CompletableFuture.uniWhenComplete(CompletableFuture.java:760)
at 
java.util.concurrent.CompletableFuture$UniWhenComplete.tryFire(CompletableFuture.java:736)
at 
java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:474)
at java.util.concurrent.CompletableFuture.complete(CompletableFuture.java:1962)
at 
org.apache.flink.runtime.concurrent.FutureUtils$1.onComplete(FutureUtils.java:996)
at akka.dispatch.OnComplete.internal(Future.scala:264)
at akka.dispatch.OnComplete.internal(Future.scala:261)
at akka.dispatch.japi$CallbackBridge.apply(Future.scala:191)
at akka.dispatch.japi$CallbackBridge.apply(Future.scala:188)
at scala.concurrent.impl.CallbackRunnable.run(Promise.scala:36)
at 
org.apache.flink.runtime.concurrent.Executors$DirectExecutionContext.execute(Executors.java:74)
at scala.concurrent.impl.CallbackRunnable.executeWithValue(Promise.scala:44)
at scala.concurrent.impl.Promise$DefaultPromise.tryComplete(Promise.scala:252)
at akka.pattern.PromiseActorRef.$bang(AskSupport.scala:572)
at 
akka.pattern.PipeToSupport$PipeableFuture$$anonfun$pipeTo$1.applyOrElse(PipeToSupport.scala:22)
at 
akka.pattern.PipeToSupport$PipeableFuture$$anonfun$pipeTo$1.applyOrElse(PipeToSupport.scala:21)
at scala.concurrent.Future$$anonfun$andThen$1.apply(Future.scala:436)
at scala.concurrent.Future$$anonfun$andThen$1.apply(Future.scala:435)
at scala.concurrent.impl.CallbackRunnable.run(Promise.scala:36)
at 
akka.dispatch.BatchingExecutor$AbstractBatch.processBatch(BatchingExecutor.scala:55)
at 
akka.dispatch.BatchingExecutor$BlockableBatch$$anonfun$run$1.apply$mcV$sp(BatchingExecutor.scala:91)
at 
akka.dispatch.BatchingExecutor$BlockableBatch$$anonfun$run$1.apply(BatchingExecutor.scala:91)
at 
akka.dispatch.BatchingExecutor$BlockableBatch$$anonfun$run$1.apply(BatchingExecutor.scala:91)
at scala.concurrent.BlockContext$.withBlockContext(BlockContext.scala:72)
at akka.dispatch.BatchingExecutor$BlockableBatch.run(BatchingExecutor.scala:90)
at akka.dispatch.TaskInvocation.run(AbstractDispatcher.scala:40)
at 
akka.dispatch.ForkJoinExecutorConfigurator$AkkaForkJoinTask.exec(ForkJoinExecutorConfigurator.scala:44)
at akka.dispatch.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260)
at akka.dispatch.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339)
at akka.dispatch.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979)
at 
akka.dispatch.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107)
Caused by: org.apache.flink.runtime.JobException: Recovery is suppressed by 
NoRestartBackoffTimeStrategy
at 
org.apache.flink.runtime.executiongraph.failover.flip1.ExecutionFailureHandler.handleFailure(ExecutionFailureHandler.java:116)
at 
org.apache.flink.runtime.executiongraph.failover.flip1.ExecutionFailureHandler.getFailureHandlingResult(ExecutionFailureHandler.java:78)
at 
org.apache.flink.runtime.scheduler.DefaultScheduler.handleTaskFailure(DefaultScheduler.java:224)
at 
org.apache.flink.runtime.scheduler.DefaultScheduler.maybeHandleTaskFailure(DefaultScheduler.java:217)
at 
org.apache.flink.runtime.scheduler.DefaultScheduler.updateTaskExecutionStateInternal(DefaultScheduler.java:208)
at 
org.apache.flink.runtime.scheduler.SchedulerBase.updateTaskExecutionState(SchedulerBase.java:610)
at 

[讨论] Flink Connector 并行写入数据方案

2021-03-31 文章 jie mei
Hi, Community

我想发起一个初步的讨论,关于如何扩大 Flink 写入数据的并行度,并且能够分表,可选事务支持的方案。

该方案应该支持三种场景:

1) 至少一次: 不支持或者有限支持 update 的存储,通常通过查询去重。 例如 ClickHouse
2) 相同主键或分区内有序: 支持 Upsert,但不支持事务或者跨行事务的存储,例如 ElasticSearch, MongoDB
3) 事务:支持跨行事务的存储,例如 MySQL。

另外说一下,第二种情况和第三种情况的一个重要区别是,当 CheckPoint 失败,第二种情况会从上一个快照重新执行,
那么会存在旧的数据可能覆盖新的数据的情况。举个例子: 假设正常情况下记录A在某个快照区间取值为
A1, A2, A3。假如在写入 A2 后快照失败,当重新执行的时候,会短暂的存在这种情况,A1 覆盖了 A2 的值。

下面是不同场景扩大并行度的方案
1) 至少一次:
在这种场景下,数据乱顺是可容忍的,只要保证最少一次,就能达到最终一致性。可以考虑多线程异步写入数据,
当异步任务过多,则等待有异步任务完成,再执行新的异步写入任务。CheckPoint需要保证所有异步任务完成

2) 相同主键或分区内有序,最少一次:
在这种场景下,如果指定了分区字段,可以将相同分区的数据放到一个 Buffer 里,相同 Buffer 的数据有序,
不同 Buffer的数据并行写入,CheckPoint的时候需要保证所有数据写入;如果没有分区,单指定了主键,可以
根据主键的 Hash Code 对 Sink 并行读取模,得到的值用于决定数据缓存到哪一个 Buffer,同样相同的 Buffer
内有序,不同的 Buffer 并行。

3) 事务:
由于已经有了通用的 Sink API,可以考虑把数据缓存到 Buffer, 在 CheckPoint 的时候,开启事务,完成写入数据,并提交。
[FLIP-143]
https://cwiki.apache.org/confluence/display/FLINK/FLIP-143%3A+Unified+Sink+API

分表:
对于 MySQL, MongoDB 这类存储,可以通过分区键来定义分表规则,假如表 A 定义了分区键 B,B 有 B1, B2 两个取值,
那么得到两个分表 A_B1, A_B2.


-- 

*Best Regards*
*Jeremy Mei*


Re: flink-1.12.2 TM无法使用自定的serviceAccount访问configmap

2021-03-31 文章 Yang Wang
你只配置了JM的service account,-Dkubernetes.jobmanager
.service-account=flink-service-account

你试试改成-Dkubernetes.service-account=flink-service-account

Best,
Yang

1120344670 <1120344...@qq.com> 于2021年3月31日周三 下午2:26写道:

> 您好, 这是TM的报错,
> 
>
> 启动的命令如下:
> ./bin/kubernetes-session.sh -Dkubernetes.cluster-id=tuiwen-flink
> -Dtaskmanager.memory.process.size=2200m -Dkubernetes.taskmanager.cpu=0.3
> -Dkubernetes.jobmanager.cpu=0.3 -Dtaskmanager.numberOfTaskSlots=2
> -Dkubernetes.rest-service.exposed.type=ClusterIP
> -Dkubernetes.jobmanager.service-account=flink-service-account
> -Dresourcemanager.taskmanager-timeout=345600   -Dkubernetes.namespace=flink
>
> 镜像使我们根据: apache/flink:1.12.2-scala_2.12 自己做的。
>
>
>
> Yang Wang wrote
> > 我可以确认1.12.1和1.12.2已经修复,如果还是不能正常使用,麻烦发一下启动命令以及对应的TM报错日志
> >
> > Best,
> > Yang
> >
> > 1120344670 <
>
> > 1120344670@
>
> >> 于2021年3月29日周一 下午5:09写道:
> >
> >> 您好:
> >>之前提交过一个关于这方面的issue,链接如下:
> >>
> http://apache-flink.147419.n8.nabble.com/flink1-12-k8s-session-TM-td10153.html
> >>目前看还是没有fix对应的issue。
> >>
> >>报错如下:
> >>
> >>
> >> 目前看jira上的issue已经关闭了, 请确认是否修复。
> >>
>
>
> Yang Wang wrote
> > 我可以确认1.12.1和1.12.2已经修复,如果还是不能正常使用,麻烦发一下启动命令以及对应的TM报错日志
> >
> > Best,
> > Yang
> >
> > 1120344670 <
>
> > 1120344670@
>
> >> 于2021年3月29日周一 下午5:09写道:
> >
> >> 您好:
> >>之前提交过一个关于这方面的issue,链接如下:
> >>
> http://apache-flink.147419.n8.nabble.com/flink1-12-k8s-session-TM-td10153.html
> >>目前看还是没有fix对应的issue。
> >>
> >>报错如下:
> >>
> >>
> >> 目前看jira上的issue已经关闭了, 请确认是否修复。
> >>
>
>
>
>
>
> --
> Sent from: http://apache-flink.147419.n8.nabble.com/
>


Re: flink-1.12.2 TM无法使用自定的serviceAccount访问configmap

2021-03-31 文章 1120344670
您好, 这是TM的报错, 
 

启动的命令如下:
./bin/kubernetes-session.sh -Dkubernetes.cluster-id=tuiwen-flink
-Dtaskmanager.memory.process.size=2200m -Dkubernetes.taskmanager.cpu=0.3
-Dkubernetes.jobmanager.cpu=0.3 -Dtaskmanager.numberOfTaskSlots=2 
-Dkubernetes.rest-service.exposed.type=ClusterIP
-Dkubernetes.jobmanager.service-account=flink-service-account
-Dresourcemanager.taskmanager-timeout=345600   -Dkubernetes.namespace=flink

镜像使我们根据: apache/flink:1.12.2-scala_2.12 自己做的。



Yang Wang wrote
> 我可以确认1.12.1和1.12.2已经修复,如果还是不能正常使用,麻烦发一下启动命令以及对应的TM报错日志
> 
> Best,
> Yang
> 
> 1120344670 <

> 1120344670@

>> 于2021年3月29日周一 下午5:09写道:
> 
>> 您好:
>>之前提交过一个关于这方面的issue,链接如下:
>> http://apache-flink.147419.n8.nabble.com/flink1-12-k8s-session-TM-td10153.html
>>目前看还是没有fix对应的issue。
>>
>>报错如下:
>>
>>
>> 目前看jira上的issue已经关闭了, 请确认是否修复。
>>


Yang Wang wrote
> 我可以确认1.12.1和1.12.2已经修复,如果还是不能正常使用,麻烦发一下启动命令以及对应的TM报错日志
> 
> Best,
> Yang
> 
> 1120344670 <

> 1120344670@

>> 于2021年3月29日周一 下午5:09写道:
> 
>> 您好:
>>之前提交过一个关于这方面的issue,链接如下:
>> http://apache-flink.147419.n8.nabble.com/flink1-12-k8s-session-TM-td10153.html
>>目前看还是没有fix对应的issue。
>>
>>报错如下:
>>
>>
>> 目前看jira上的issue已经关闭了, 请确认是否修复。
>>





--
Sent from: http://apache-flink.147419.n8.nabble.com/


退订

2021-03-31 文章 小鲲鹏
退订


| |
小鲲鹏
|
|
邮箱:xxpe...@163.com
|

签名由 网易邮箱大师 定制

退订

2021-03-31 文章 kk wi
退订