Flink MySQL CDC connector 使用注意事项

23 篇文章 1 订阅
19 篇文章 0 订阅
文章指出了在使用HDFS时遇到的两个问题:一是表名不应包含大写字母,二是表名和库名不应包含点号,因为这可能导致查询失败和文件找不到的错误。问题在执行查询时暴露,如Java异常信息所示,系统尝试访问的大写路径与实际存在的小写路径不匹配。文章还提到了Flink写入和Spark读取时可能遇到的路径不一致问题。
摘要由CSDN通过智能技术生成

注意事项

  • 表要有主键

  • 库名和表名不能有点号

是个 BUG,估计后续会修复。

  • 表名不能有大写

也是个 BUG,估计后续会修复。

如果表名含有大写的字母,查询时日志可看到如下信息:

java.util.concurrent.ExecutionException: java.io.FileNotFoundException: File does not exist: hdfs://hadoop/user/test/warehouse/test.db/ods_test
	at org.sparkproject.guava.util.concurrent.AbstractFuture.getDoneValue(AbstractFuture.java:552)
	at org.sparkproject.guava.util.concurrent.AbstractFuture.get(AbstractFuture.java:513)
	at org.sparkproject.guava.util.concurrent.AbstractFuture$TrustedFuture.get(AbstractFuture.java:90)
	at org.sparkproject.guava.util.concurrent.Uninterruptibles.getUninterruptibly(Uninterruptibles.java:199)
	at org.sparkproject.guava.cache.LocalCache$Segment.getAndRecordStats(LocalCache.java:2312)
	at org.sparkproject.guava.cache.LocalCache$Segment.loadSync(LocalCache.java:2278)
	at org.sparkproject.guava.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2154)
	at org.sparkproject.guava.cache.LocalCache$Segment.get(LocalCache.java:2044)
	at org.sparkproject.guava.cache.LocalCache.get(LocalCache.java:3952)
	at org.sparkproject.guava.cache.LocalCache$LocalManualCache.get(LocalCache.java:4871)
	at org.apache.spark.sql.catalyst.catalog.SessionCatalog.getCachedPlan(SessionCatalog.scala:158)

而底层 HDFS 路径保持了大写:

2023-05-11 18:18:27,943 INFO  [47] [org.apache.hudi.util.StreamerUtil.initTableIfNotExists(StreamerUtil.java:335)]  - Table [hdfs://hadoop/user/test/warehouse/test.db/ODS_test/ODS_test] already exists, no need to initialize the table
2023-05-11 18:18:27,943 INFO  [47] [org.apache.hudi.util.StreamerUtil.initTableIfNotExists(StreamerUtil.java:337)]  - Table update under base path hdfs://hadoop/user/test/warehouse/test.db/ODS_test
2023-05-11 18:18:27,944 INFO  [47] [org.apache.hudi.common.table.HoodieTableMetaClient.updateTableAndGetMetaClient(HoodieTableMetaClient.java:507)]  - Update hoodie table with basePath hdfs://hadoop/user/test/warehouse/test.db/ODS_test
2023-05-11 18:18:27,949 INFO  [47] [org.apache.hudi.common.table.HoodieTableMetaClient.<init>(HoodieTableMetaClient.java:125)]  - Loading HoodieTableMetaClient from hdfs://hadoop/user/test/warehouse/test.db/ODS_test
2023-05-11 18:18:27,950 INFO  [47] [org.apache.hadoop.security.UserGroupInformation.initialize(UserGroupInformation.java:366)]  - Hadoop UGI authentication : TAUTH
2023-05-11 18:18:27,993 INFO  [47] [org.apache.hudi.common.table.HoodieTableConfig.<init>(HoodieTableConfig.java:295)]  - Loading table properties from hdfs://hadoop/user/test/warehouse/test.db/ODS_test/.hoodie/hoodie.properties
2023-05-11 18:18:28,212 INFO  [47] [org.apache.hudi.common.table.HoodieTableMetaClient.<init>(HoodieTableMetaClient.java:144)]  - Finished Loading Table of type MERGE_ON_READ(version=1, baseFileFormat=PARQUET) from hdfs://hadoop/user/test/warehouse/test.db/ODS_test
2023-05-11 18:18:29,730 INFO  [47] [org.apache.hudi.common.table.HoodieTableMetaClient.updateTableAndGetMetaClient(HoodieTableMetaClient.java:512)]  - Finished update Table of type MERGE_ON_READ from hdfs://hadoop/user/test/warehouse/test.db/ODS_test
Flink写Spark读
hdfs://hadoop/user/test/warehouse/test.db/ODS_testhdfs://hadoop/user/test/warehouse/test.db/ods_test
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值