[ 
https://issues.apache.org/jira/browse/HUDI-4603?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

xiaozhongcheng closed HUDI-4603.
--------------------------------
    Fix Version/s:     (was: 0.13.0)
       Resolution: Fixed

> Improve HMS Catalog function in flink
> -------------------------------------
>
>                 Key: HUDI-4603
>                 URL: https://issues.apache.org/jira/browse/HUDI-4603
>             Project: Apache Hudi
>          Issue Type: Improvement
>            Reporter: xiaozhongcheng
>            Priority: Major
>              Labels: pull-request-available
>
> 1. Make users can choose to sync ro and rt table or not when using hms 
> catalog in flink.
> Currently, if users use hms catalog in flink, ro and rt table will be also 
> sync to the hms.
> But If I just want to sync the metadata of hudi table, I don't want to sync 
> ro and rt table.
> So, I think users should be able to choose to sync the ro and rt table or not.
>  
> 2. Make users can sync ro and rt table correctly when the table is 
> partitioned table.
> Currently, If users create the partitioned table in hms catalog, but the 
> partition field is not in the form of yyyy/mm/dd. If they don't make 
> hive_sync.partition_extractor_class to 
> org.apache.hudi.hive.HiveStylePartitionValueExtractor, ro and rt table will 
> not be synced correctly
> The stacks is list below:
>  
> {code:java}
> org.apache.hudi.exception.HoodieException: Got runtime exception when hive 
> syncing student22
>   at org.apache.hudi.hive.HiveSyncTool.syncHoodieTable(HiveSyncTool.java:144) 
> ~[hudi-flink1.15-bundle-0.12.0-rc2.jar:0.12.0-rc2]
>   at 
> org.apache.hudi.sink.StreamWriteOperatorCoordinator.doSyncHive(StreamWriteOperatorCoordinator.java:335)
>  ~[hudi-flink1.15-bundle-0.12.0-rc2.jar:0.12.0-rc2]
>   at 
> org.apache.hudi.sink.StreamWriteOperatorCoordinator.syncHive(StreamWriteOperatorCoordinator.java:326)
>  ~[hudi-flink1.15-bundle-0.12.0-rc2.jar:0.12.0-rc2]
>   at 
> org.apache.hudi.sink.StreamWriteOperatorCoordinator.handleEndInputEvent(StreamWriteOperatorCoordinator.java:426)
>  ~[hudi-flink1.15-bundle-0.12.0-rc2.jar:0.12.0-rc2]
>   at 
> org.apache.hudi.sink.StreamWriteOperatorCoordinator.lambda$handleEventFromOperator$3(StreamWriteOperatorCoordinator.java:278)
>  ~[hudi-flink1.15-bundle-0.12.0-rc2.jar:0.12.0-rc2]
>   at 
> org.apache.hudi.sink.utils.NonThrownExecutor.lambda$wrapAction$0(NonThrownExecutor.java:130)
>  ~[hudi-flink1.15-bundle-0.12.0-rc2.jar:0.12.0-rc2]
>   at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) 
> [?:1.8.0_241]
>   at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_241]
>   at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
>  [?:1.8.0_241]
>   at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
>  [?:1.8.0_241]
>   at java.lang.Thread.run(Thread.java:748) [?:1.8.0_241]
> Caused by: org.apache.hudi.hive.HoodieHiveSyncException: Failed to sync 
> partitions for table student22_ro
>   at org.apache.hudi.hive.HiveSyncTool.syncPartitions(HiveSyncTool.java:340) 
> ~[hudi-flink1.15-bundle-0.12.0-rc2.jar:0.12.0-rc2]
>   at org.apache.hudi.hive.HiveSyncTool.syncHoodieTable(HiveSyncTool.java:232) 
> ~[hudi-flink1.15-bundle-0.12.0-rc2.jar:0.12.0-rc2]
>   at org.apache.hudi.hive.HiveSyncTool.doSync(HiveSyncTool.java:157) 
> ~[hudi-flink1.15-bundle-0.12.0-rc2.jar:0.12.0-rc2]
>   at org.apache.hudi.hive.HiveSyncTool.syncHoodieTable(HiveSyncTool.java:141) 
> ~[hudi-flink1.15-bundle-0.12.0-rc2.jar:0.12.0-rc2]
>   ... 10 more
> Caused by: java.lang.IllegalArgumentException: Partition path school=beida is 
> not in the form yyyy/mm/dd 
>   at 
> org.apache.hudi.hive.SlashEncodedDayPartitionValueExtractor.extractPartitionValuesInPath(SlashEncodedDayPartitionValueExtractor.java:58)
>  ~[hudi-flink1.15-bundle-0.12.0-rc2.jar:0.12.0-rc2]
>   at 
> org.apache.hudi.sync.common.HoodieSyncClient.getPartitionEvents(HoodieSyncClient.java:144)
>  ~[hudi-flink1.15-bundle-0.12.0-rc2.jar:0.12.0-rc2]
>   at org.apache.hudi.hive.HiveSyncTool.syncPartitions(HiveSyncTool.java:318) 
> ~[hudi-flink1.15-bundle-0.12.0-rc2.jar:0.12.0-rc2]
>   at org.apache.hudi.hive.HiveSyncTool.syncHoodieTable(HiveSyncTool.java:232) 
> ~[hudi-flink1.15-bundle-0.12.0-rc2.jar:0.12.0-rc2]
>   at org.apache.hudi.hive.HiveSyncTool.doSync(HiveSyncTool.java:157) 
> ~[hudi-flink1.15-bundle-0.12.0-rc2.jar:0.12.0-rc2]
>   at org.apache.hudi.hive.HiveSyncTool.syncHoodieTable(HiveSyncTool.java:141) 
> ~[hudi-flink1.15-bundle-0.12.0-rc2.jar:0.12.0-rc2]
>   ... 10 more {code}
>  
>  
>  
>  
>  
>  



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to