Open sxh-lsc opened 1 year ago
Is the warehouse path for the source catalog is same as what is configured from with the engine like spark when the tables are created with the hadoop catalog?
I usually export AWS credentials in the env variable
export AWS_ACCESS_KEY_ID=xxxxxxx
export AWS_SECRET_ACCESS_KEY=xxxxxxx
export AWS_S3_ENDPOINT=xxxxxxx
and also configure file-io in the catalog properties io-impl=org.apache.iceberg.aws.s3.S3FileIO
Yes it is the same path as you said,but sorry I don't quite understand what problem this will cause? All the env variables you mentioned are exported.
Yes it is the same path as you said,but sorry I don't quite understand what problem this will cause? All the env variables you mentioned are exported.
I am not sure what causes this. But I found a similar issue discussion here. Seems to be AWS specific. https://knowledge.informatica.com/s/article/517098?language=en_US
Are you sure you have configured file-io in the catalog properties io-impl=org.apache.iceberg.aws.s3.S3FileIO
?
Unable to unmarshall response (Failed to parse XML document with handler class com.amazonaws.services.s3.model.transform.XmlResponsesSaxParser$ListBucketHandler). Response Code: 200, Response Text: OK at com.amazonaws.http.AmazonHttpClient.handleResponse(AmazonHttpClient.java:738) at
yes,I am sure.This below is my command.
java -jar iceberg-catalog-migrator-cli-0.2.0.jar register --stacktrace \ --source-catalog-type HADOOP \ --source-catalog-properties warehouse=s3a://**/***/***,io-impl=org.apache.iceberg.aws.s3.S3FileIO \ --source-catalog-hadoop-conf fs.s3a.access.key=$AWS_ACCESS_KEY_ID,fs.s3a.secret.key=$AWS_SECRET_ACCESS_KEY,fs.s3a.endpoint=$AWS_S3_ENDPOINT \ --target-catalog-type NESSIE \ --target-catalog-properties uri=http://l***:19120/api/v1/,ref=main,warehouse=s3a://***,io-impl=org.apache.iceberg.aws.s3.S3FileIO
The error messages seem like S3 list object went wrong,I found some people use .withEncodingType("url")
to fix it,maybe it is about the aws S3 version?
Which version of Iceberg are you using? I will also try once locally.
As a workaround, you can pass the list of identifiers in --identifiers
option
Which version of Iceberg are you using? I will also try once locally.
As a workaround, you can pass the list of identifiers in
--identifiers
option
I use iceberg v1.2.0. But it is already included in this tool, isn't it?
My hadoop warehouse is S3a://XXXXXX, and I add the --source-catalog-hadoop-conf fs.s3a.access.key=$AWS_ACCESS_KEY_ID,fs.s3a.secret.key=$AWS_SECRET_ACCESS_KEY,fs.s3a.endpoint=$AWS_S3_ENDPOINT Then goes wrong with: