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

weiming updated HUDI-6107:
--------------------------
    Description: 
An orc or parquet type hive table will report an error when using bootstrap to 
convert the table into a hudi table

 

my command:

spark-submit \
--queue root.default_queue \
--conf 'spark.serializer=org.apache.spark.serializer.KryoSerializer' \
--class org.apache.hudi.utilities.deltastreamer.HoodieDeltaStreamer  
hudijar/hudi-utilities-bundle_2.12-0.13.0.jar \
--run-bootstrap \
--target-base-path 
/user/prod_datalake_test/datalake_test/hive/datalake_test/wm_test_bootstrap_hudi01
 \
--target-table wm_test_bootstrap_hudi01 \
--table-type COPY_ON_WRITE \
--base-file-format PARQUET \
--hoodie-conf 
hoodie.bootstrap.base.path=/user/prod_datalake_test/datalake_test_dev/hive/datalake_test_dev/wm_test_bootstrap_hudi01
 \
--hoodie-conf hoodie.datasource.write.recordkey.field=account \
--hoodie-conf hoodie.datasource.write.partitionpath.field=dt \
--hoodie-conf hoodie.datasource.write.precombine.field=account \
--hoodie-conf 
hoodie.bootstrap.keygen.class=org.apache.hudi.keygen.SimpleKeyGenerator \
--hoodie-conf 
hoodie.bootstrap.full.input.provider=org.apache.hudi.bootstrap.SparkOrcBootstrapDataProvider
 \
--hoodie-conf 
hoodie.bootstrap.mode.selector=org.apache.hudi.client.bootstrap.selector.FullRecordBootstrapModeSelector
 \
--hoodie-conf hoodie.bootstrap.mode.selector.regex.mode=FULL_RECORD \
--hoodie-conf hoodie.datasource.write.hive_style_partitioning=true \
--enable-sync  \
--hoodie-conf hoodie.datasource.hive_sync.mode=HMS \
--hoodie-conf hoodie.datasource.hive_sync.database=datalake_test \
--hoodie-conf hoodie.datasource.hive_sync.auto_create_database=true \
--hoodie-conf hoodie.datasource.hive_sync.create_managed_table=true \
--hoodie-conf hoodie.datasource.hive_sync.table=wm_test_bootstrap_hudi01 \
--hoodie-conf hoodie.datasource.hive_sync.partition_fields=dt \
--hoodie-conf 
hoodie.datasource.hive_sync.partition_extractor_class=org.apache.hudi.hive.MultiPartKeysValueExtractor

 

error log:

23/04/20 14:12:43 ERROR ApplicationMaster: User class threw exception: 
java.lang.IllegalArgumentException java.lang.IllegalArgumentException at 
org.apache.hudi.common.util.ValidationUtils.checkArgument(ValidationUtils.java:31)
 at 
org.apache.hudi.table.action.bootstrap.SparkBootstrapCommitActionExecutor.listAndProcessSourcePartitions(SparkBootstrapCommitActionExecutor.java:337)
 at 
org.apache.hudi.table.action.bootstrap.SparkBootstrapCommitActionExecutor.execute(SparkBootstrapCommitActionExecutor.java:134)
 at 
org.apache.hudi.table.HoodieSparkCopyOnWriteTable.bootstrap(HoodieSparkCopyOnWriteTable.java:187)
 at 
org.apache.hudi.client.SparkRDDWriteClient.bootstrap(SparkRDDWriteClient.java:131)
 at 
org.apache.hudi.utilities.deltastreamer.BootstrapExecutor.execute(BootstrapExecutor.java:167)
 at 
org.apache.hudi.utilities.deltastreamer.HoodieDeltaStreamer.sync(HoodieDeltaStreamer.java:189)
 at 
org.apache.hudi.utilities.deltastreamer.HoodieDeltaStreamer.main(HoodieDeltaStreamer.java:573)
 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
 at java.lang.reflect.Method.invoke(Method.java:498) at 
org.apache.spark.deploy.yarn.ApplicationMaster$$anon$2.run(ApplicationMaster.scala:748)

 

 

  was:
The hive table of orc or parquet type will report the same error

 

my command:

spark-submit \
--queue root.default_queue \
--conf 'spark.serializer=org.apache.spark.serializer.KryoSerializer' \
--class org.apache.hudi.utilities.deltastreamer.HoodieDeltaStreamer  
hudijar/hudi-utilities-bundle_2.12-0.13.0.jar \
--run-bootstrap \
--target-base-path 
/user/prod_datalake_test/datalake_test/hive/datalake_test/wm_test_bootstrap_hudi01
 \
--target-table wm_test_bootstrap_hudi01 \
--table-type COPY_ON_WRITE \
--base-file-format PARQUET \
--hoodie-conf 
hoodie.bootstrap.base.path=/user/prod_datalake_test/datalake_test_dev/hive/datalake_test_dev/wm_test_bootstrap_hudi01
 \
--hoodie-conf hoodie.datasource.write.recordkey.field=account \
--hoodie-conf hoodie.datasource.write.partitionpath.field=dt \
--hoodie-conf hoodie.datasource.write.precombine.field=account \
--hoodie-conf 
hoodie.bootstrap.keygen.class=org.apache.hudi.keygen.SimpleKeyGenerator \
--hoodie-conf 
hoodie.bootstrap.full.input.provider=org.apache.hudi.bootstrap.SparkOrcBootstrapDataProvider
 \
--hoodie-conf 
hoodie.bootstrap.mode.selector=org.apache.hudi.client.bootstrap.selector.FullRecordBootstrapModeSelector
 \
--hoodie-conf hoodie.bootstrap.mode.selector.regex.mode=FULL_RECORD \
--hoodie-conf hoodie.datasource.write.hive_style_partitioning=true \
--enable-sync  \
--hoodie-conf hoodie.datasource.hive_sync.mode=HMS \
--hoodie-conf hoodie.datasource.hive_sync.database=datalake_test \
--hoodie-conf hoodie.datasource.hive_sync.auto_create_database=true \
--hoodie-conf hoodie.datasource.hive_sync.create_managed_table=true \
--hoodie-conf hoodie.datasource.hive_sync.table=wm_test_bootstrap_hudi01 \
--hoodie-conf hoodie.datasource.hive_sync.partition_fields=dt \
--hoodie-conf 
hoodie.datasource.hive_sync.partition_extractor_class=org.apache.hudi.hive.MultiPartKeysValueExtractor

 

error log:

23/04/20 14:12:43 ERROR ApplicationMaster: User class threw exception: 
java.lang.IllegalArgumentException java.lang.IllegalArgumentException at 
org.apache.hudi.common.util.ValidationUtils.checkArgument(ValidationUtils.java:31)
 at 
org.apache.hudi.table.action.bootstrap.SparkBootstrapCommitActionExecutor.listAndProcessSourcePartitions(SparkBootstrapCommitActionExecutor.java:337)
 at 
org.apache.hudi.table.action.bootstrap.SparkBootstrapCommitActionExecutor.execute(SparkBootstrapCommitActionExecutor.java:134)
 at 
org.apache.hudi.table.HoodieSparkCopyOnWriteTable.bootstrap(HoodieSparkCopyOnWriteTable.java:187)
 at 
org.apache.hudi.client.SparkRDDWriteClient.bootstrap(SparkRDDWriteClient.java:131)
 at 
org.apache.hudi.utilities.deltastreamer.BootstrapExecutor.execute(BootstrapExecutor.java:167)
 at 
org.apache.hudi.utilities.deltastreamer.HoodieDeltaStreamer.sync(HoodieDeltaStreamer.java:189)
 at 
org.apache.hudi.utilities.deltastreamer.HoodieDeltaStreamer.main(HoodieDeltaStreamer.java:573)
 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
 at java.lang.reflect.Method.invoke(Method.java:498) at 
org.apache.spark.deploy.yarn.ApplicationMaster$$anon$2.run(ApplicationMaster.scala:748)

 

 


>  Fix java.lang.IllegalArgumentException  for bootstrap
> ------------------------------------------------------
>
>                 Key: HUDI-6107
>                 URL: https://issues.apache.org/jira/browse/HUDI-6107
>             Project: Apache Hudi
>          Issue Type: Bug
>    Affects Versions: 0.13.0
>            Reporter: weiming
>            Assignee: weiming
>            Priority: Blocker
>              Labels: pull-request-available
>             Fix For: 0.14.0, 1.0.0
>
>
> An orc or parquet type hive table will report an error when using bootstrap 
> to convert the table into a hudi table
>  
> my command:
> spark-submit \
> --queue root.default_queue \
> --conf 'spark.serializer=org.apache.spark.serializer.KryoSerializer' \
> --class org.apache.hudi.utilities.deltastreamer.HoodieDeltaStreamer  
> hudijar/hudi-utilities-bundle_2.12-0.13.0.jar \
> --run-bootstrap \
> --target-base-path 
> /user/prod_datalake_test/datalake_test/hive/datalake_test/wm_test_bootstrap_hudi01
>  \
> --target-table wm_test_bootstrap_hudi01 \
> --table-type COPY_ON_WRITE \
> --base-file-format PARQUET \
> --hoodie-conf 
> hoodie.bootstrap.base.path=/user/prod_datalake_test/datalake_test_dev/hive/datalake_test_dev/wm_test_bootstrap_hudi01
>  \
> --hoodie-conf hoodie.datasource.write.recordkey.field=account \
> --hoodie-conf hoodie.datasource.write.partitionpath.field=dt \
> --hoodie-conf hoodie.datasource.write.precombine.field=account \
> --hoodie-conf 
> hoodie.bootstrap.keygen.class=org.apache.hudi.keygen.SimpleKeyGenerator \
> --hoodie-conf 
> hoodie.bootstrap.full.input.provider=org.apache.hudi.bootstrap.SparkOrcBootstrapDataProvider
>  \
> --hoodie-conf 
> hoodie.bootstrap.mode.selector=org.apache.hudi.client.bootstrap.selector.FullRecordBootstrapModeSelector
>  \
> --hoodie-conf hoodie.bootstrap.mode.selector.regex.mode=FULL_RECORD \
> --hoodie-conf hoodie.datasource.write.hive_style_partitioning=true \
> --enable-sync  \
> --hoodie-conf hoodie.datasource.hive_sync.mode=HMS \
> --hoodie-conf hoodie.datasource.hive_sync.database=datalake_test \
> --hoodie-conf hoodie.datasource.hive_sync.auto_create_database=true \
> --hoodie-conf hoodie.datasource.hive_sync.create_managed_table=true \
> --hoodie-conf hoodie.datasource.hive_sync.table=wm_test_bootstrap_hudi01 \
> --hoodie-conf hoodie.datasource.hive_sync.partition_fields=dt \
> --hoodie-conf 
> hoodie.datasource.hive_sync.partition_extractor_class=org.apache.hudi.hive.MultiPartKeysValueExtractor
>  
> error log:
> 23/04/20 14:12:43 ERROR ApplicationMaster: User class threw exception: 
> java.lang.IllegalArgumentException java.lang.IllegalArgumentException at 
> org.apache.hudi.common.util.ValidationUtils.checkArgument(ValidationUtils.java:31)
>  at 
> org.apache.hudi.table.action.bootstrap.SparkBootstrapCommitActionExecutor.listAndProcessSourcePartitions(SparkBootstrapCommitActionExecutor.java:337)
>  at 
> org.apache.hudi.table.action.bootstrap.SparkBootstrapCommitActionExecutor.execute(SparkBootstrapCommitActionExecutor.java:134)
>  at 
> org.apache.hudi.table.HoodieSparkCopyOnWriteTable.bootstrap(HoodieSparkCopyOnWriteTable.java:187)
>  at 
> org.apache.hudi.client.SparkRDDWriteClient.bootstrap(SparkRDDWriteClient.java:131)
>  at 
> org.apache.hudi.utilities.deltastreamer.BootstrapExecutor.execute(BootstrapExecutor.java:167)
>  at 
> org.apache.hudi.utilities.deltastreamer.HoodieDeltaStreamer.sync(HoodieDeltaStreamer.java:189)
>  at 
> org.apache.hudi.utilities.deltastreamer.HoodieDeltaStreamer.main(HoodieDeltaStreamer.java:573)
>  at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
> at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>  at java.lang.reflect.Method.invoke(Method.java:498) at 
> org.apache.spark.deploy.yarn.ApplicationMaster$$anon$2.run(ApplicationMaster.scala:748)
>  
>  



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

Reply via email to