maytasm commented on PR #8412:
URL: https://github.com/apache/iceberg/pull/8412#issuecomment-1702264636

   > I tested the master code in Spark 3.4.0 and it works correctly.
   > 
   > ```scala
   > scala> spark.sql("create table local.db.test_short(id short) using 
iceberg").show()
   > ++
   > ||
   > ++
   > ++
   > 
   > scala> spark.sql("insert into local.db.test_short values(1), (2), 
(3)").show()
   > ++
   > ||
   > ++
   > ++
   > 
   > scala> spark.sql("select * from local.db.test_short").show()
   > +---+
   > | id|
   > +---+
   > |  1|
   > |  2|
   > |  3|
   > +---+
   > 
   > scala> spark.sql("select * from local.db.test_short where id = 2").show()
   > +---+
   > | id|
   > +---+
   > |  2|
   > +---+
   > ```
   > 
   > It seems Iceberg promotes the short to int:
   > 
   > ```scala
   > scala> spark.sql("desc table local.db.test_short").show()
   > +--------+---------+-------+
   > |col_name|data_type|comment|
   > +--------+---------+-------+
   > |      id|      int|   null|
   > +--------+---------+-------+
   > ```
   
   What table format are you using? 
   I encountered this problem on a Hive table with tinyint / smallint data type.
   For example, 
   I ran `create table hive.mmonsereenusorn.mmonsereenusorn_test_numbers_3 (a 
tinyint, b smallint, c int, d bigint, e real, f double, g double precision, h 
decimal)` in Trino to create the Hive table.
   In spark, this table has tinyint and smallint
   ```
   spark-sql-3.3> desc mmonsereenusorn.mmonsereenusorn_test_numbers_3;
   a                    tinyint                                     
   b                    smallint                                    
   c                    int                                         
   d                    bigint                                      
   e                    float                                       
   f                    double                                      
   g                    double                                      
   h                    decimal(38,0)                               
                                                                    
   # Partitioning                                                   
   Not partitioned                                                  
   Time taken: 4.125 seconds, Fetched 11 row(s)
   ```
   


-- 
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