myrust-go commented on PR #14928:
URL: https://github.com/apache/iceberg/pull/14928#issuecomment-3695218805

   Hello @manuzhang  @majinghe ,
   
   
   After testing again, everything works perfectly. Thank you so much!
   
   We look forward to long-term, stable support for S3 storage.
   
   ## Screenshot
   
   <img width="2220" height="1662" alt="image" 
src="https://github.com/user-attachments/assets/77b872b7-d018-4232-91dd-f00b15ef4237";
 />
   
   
   ## Command history
   
   ```
   [+] Running 5/5
    ✔ Network root_iceberg_net  Created                                         
                                                                                
                                                                                
                              0.0s
    ✔ Container iceberg-rest    Started                                         
                                                                                
                                                                                
                              4.4s
    ✔ Container rustfs          Started                                         
                                                                                
                                                                                
                              4.4s
    ✔ Container mc              Started                                         
                                                                                
                                                                                
                              0.6s
    ✔ Container spark-iceberg   Started                                         
                                                                                
                                                                                
                              0.7s
   [root@iZj6c6r9c0a5dquqg47y2vZ ~]# docker exec -it spark-iceberg spark-sql
   
   Setting default log level to "WARN".
   To adjust logging level use sc.setLogLevel(newLevel). For SparkR, use 
setLogLevel(newLevel).
   25/12/29 01:12:35 WARN NativeCodeLoader: Unable to load native-hadoop 
library for your platform... using builtin-java classes where applicable
   25/12/29 01:12:36 WARN Utils: Service 'SparkUI' could not bind on port 4040. 
Attempting port 4041.
   Spark Web UI available at http://597b077fc8c5:4041
   Spark master: local[*], Application Id: local-1766970756749
   spark-sql ()>
               > CREATE NAMESPACE demo.nyc;
   Time taken: 0.889 seconds
   spark-sql ()> CREATE TABLE demo.nyc.taxis
               > (
               >   vendor_id bigint,
               >   trip_id bigint,
               >   trip_distance float,
               >   fare_amount double,
               >   store_and_fwd_flag string
               > )
               > PARTITIONED BY (vendor_id);
   Time taken: 1.355 seconds
   spark-sql ()>
               >
               > INSERT INTO demo.nyc.taxis
               > VALUES (1, 1000371, 1.8, 15.32, 'N'), (2, 1000372, 2.5, 22.15, 
'N'), (2, 1000373, 0.9, 9.01, 'N'), (1, 1000374, 8.4, 42.13, 'Y');
   Time taken: 2.652 seconds
   spark-sql ()> SELECT * FROM demo.nyc.taxis;
   1    1000371 1.8     15.32   N
   1    1000374 8.4     42.13   Y
   2    1000372 2.5     22.15   N
   2    1000373 0.9     9.01    N
   Time taken: 0.631 seconds, Fetched 4 row(s)
   
   ```
   
   ## spark-defaults.conf
   ```
   
   cat spark-defaults.conf
   spark.sql.extensions                   
org.apache.iceberg.spark.extensions.IcebergSparkSessionExtensions
   spark.sql.catalog.demo                 org.apache.iceberg.spark.SparkCatalog
   spark.sql.catalog.demo.type            rest
   spark.sql.catalog.demo.uri             http://rest:8181
   spark.sql.catalog.demo.io-impl         org.apache.iceberg.aws.s3.S3FileIO
   spark.sql.catalog.demo.warehouse       s3://warehouse/wh
   spark.sql.catalog.demo.s3.endpoint     http://rustfs:9000
   spark.sql.defaultCatalog               demo
   spark.eventLog.enabled                 true
   spark.eventLog.dir                     /home/iceberg/spark-events
   spark.history.fs.logDirectory          /home/iceberg/spark-events
   spark.sql.catalogImplementation        in-memory
   spark.sql.catalog.demo.s3.path-style-access true
   
   ```
   
   
   ## docker-compose.yaml
   
   ```
   cat docker-compose.yaml
   services:
     spark-iceberg:
       image: tabulario/spark-iceberg
       container_name: spark-iceberg
       build: spark/
       networks:
         iceberg_net:
       depends_on:
         - rest
         - rustfs
       volumes:
         - ./warehouse:/home/iceberg/warehouse
         - ./notebooks:/home/iceberg/notebooks/notebooks
         - ./spark-defaults.conf:/opt/spark/conf/spark-defaults.conf
       environment:
         - AWS_ACCESS_KEY_ID=rustfsadmin
         - AWS_SECRET_ACCESS_KEY=rustfsadmin
         - AWS_REGION=us-east-1
       ports:
         - 8888:8888
         - 8080:8080
         - 10000:10000
         - 10001:10001
     rest:
       image: apache/iceberg-rest-fixture
       container_name: iceberg-rest
       networks:
         iceberg_net:
       ports:
         - 8181:8181
       environment:
         - AWS_ACCESS_KEY_ID=rustfsadmin
         - AWS_SECRET_ACCESS_KEY=rustfsadmin
         - AWS_REGION=us-east-1
         - CATALOG_WAREHOUSE=s3://warehouse/
         - CATALOG_IO__IMPL=org.apache.iceberg.aws.s3.S3FileIO
         - CATALOG_S3_ENDPOINT=http://rustfs:9000
         - CATALOG_S3_PATH__STYLE__ACCESS=true
     rustfs:
       image: rustfs/rustfs:latest
       container_name: rustfs
       environment:
         - RUSTFS_ACCESS_KEY=rustfsadmin
         - RUSTFS_SECRET_KEY=rustfsadmin
         - RUSTFS_VOLUMES=/data
         - RUSTFS_ADDRESS=0.0.0.0:9000
         - RUSTFS_CONSOLE_ADDRESS=0.0.0.0:9001
         - RUSTFS_CONSOLE_ENABLE=true
       networks:
         iceberg_net:
       ports:
         - 9001:9001
         - 9000:9000
     mc:
       depends_on:
         - rustfs
       image: minio/mc
       container_name: mc
       networks:
         iceberg_net:
       environment:
         - AWS_ACCESS_KEY_ID=rustfsadmin
         - AWS_SECRET_ACCESS_KEY=rustfsadmin
         - AWS_REGION=us-east-1
       entrypoint: |
         /bin/sh -c "
         until (/usr/bin/mc alias set rustfs http://rustfs:9000 rustfsadmin 
rustfsadmin) do echo '...waiting...' && sleep 1; done;
         /usr/bin/mc rm -r --force rustfs/warehouse;
         /usr/bin/mc mb rustfs/warehouse;
         /usr/bin/mc policy set public rustfs/warehouse;
         tail -f /dev/null
         "
   networks:
     iceberg_net:
   ```
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to