qw2qw2 commented on issue #10779:
URL: https://github.com/apache/hudi/issues/10779#issuecomment-2287736666
> Can you share the content of your parquet file?
`spark.parquet("file_name").show()` or other tools.
scala> val in =
spark.read.parquet("/user/xxx/table1/TRANS_YEAR=2019/TRANS_MONTH=7")
scala> in.printSchema
root
|-- _hoodie_commit_time: string (nullable = true)
|-- _hoodie_commit_seqno: string (nullable = true)
|-- _hoodie_record_key: string (nullable = true)
|-- _hoodie_partition_path: string (nullable = true)
|-- _hoodie_file_name: string (nullable = true)
|-- ID: integer (nullable = true)
|-- MERCHANT_ID: integer (nullable = true)
|-- MERCHANT_NAME: string (nullable = true)
|-- PRODUCT_ID: integer (nullable = true)
|-- PRODUCT_NAME: string (nullable = true)
|-- TRANS_ID: string (nullable = true)
|-- PS_TRANS_ID: string (nullable = true)
|-- SW_ORDER_ID: string (nullable = true)
|-- CHL_ORDER_ID: string (nullable = true)
|-- ACCOUNT_ID: integer (nullable = true)
|-- USER_NAME: string (nullable = true)
|-- IP: string (nullable = true)
|-- PAYGATE: integer (nullable = true)
|-- PAYGATE_NAME: string (nullable = true)
|-- IP_LOCATION: string (nullable = true)
|-- TRANS_STATUS: integer (nullable = true)
|-- AMT: string (nullable = true)
|-- POUNDAGE: string (nullable = true)
|-- TRANS_TYPE: integer (nullable = true)
|-- WALLET_ERROR_CODE: string (nullable = true)
|-- WALLET_ERROR_DESC: string (nullable = true)
|-- SPGW_ERROR_CODE: string (nullable = true)
|-- SPGW_ERROR_DESC: string (nullable = true)
|-- CHL_ERROR_CODE: string (nullable = true)
|-- CHL_ERROR_DESC: string (nullable = true)
|-- CHL_ERROR_TYPE: string (nullable = true)
|-- TRANS_STEPS: integer (nullable = true)
|-- TRANS_CREATED_TIME: timestamp (nullable = true)
|-- TRANS_FINISH_TIME: timestamp (nullable = true)
|-- WALLET_REQ_TIME: timestamp (nullable = true)
|-- SPGW_REQ_TIME: timestamp (nullable = true)
|-- CHL_RES_TIME: timestamp (nullable = true)
|-- SPGW_RES_TIME: timestamp (nullable = true)
|-- CHL_CALLBACK_TIME: timestamp (nullable = true)
|-- SPGW_CALLBACK_TIME: timestamp (nullable = true)
|-- TRANS_COST_TIME: integer (nullable = true)
|-- TRANS_AVG_COST_TIME: integer (nullable = true)
|-- ERROR_CODE: string (nullable = true)
|-- TIME_DIMENSION_ID: integer (nullable = true)
|-- ACCOUNT_AMT: string (nullable = true)
|-- ACCOUNT_WITHDRAW_AMT: string (nullable = true)
|-- ONWAY_AMT: string (nullable = true)
|-- TOTAL_SUBSIDY_AMT: string (nullable = true)
|-- REAL_NAME: string (nullable = true)
|-- CREDENTIALS_NUMBER: string (nullable = true)
|-- BIND_MOBILE: string (nullable = true)
|-- BIND_EMAIL: string (nullable = true)
|-- ACCOUNT_STATUS: integer (nullable = true)
|-- LAST_IP: string (nullable = true)
|-- LAST_LOGIN_TIME: timestamp (nullable = true)
|-- ACCOUNT_CREATED_ON: timestamp (nullable = true)
|-- ACCOUNT_UPDATED_ON: timestamp (nullable = true)
|-- LAST_TRANS_TIME: timestamp (nullable = true)
|-- FREEZE_TIME: timestamp (nullable = true)
|-- VERITY_LEVEL: integer (nullable = true)
|-- PRODUCT_ACC_OPENED: integer (nullable = true)
|-- PAY_CHANNEL: string (nullable = true)
|-- CHANNEL_NAME: string (nullable = true)
|-- TERMINAL_TYPE: integer (nullable = true)
|-- TERMINAL_NAME: string (nullable = true)
|-- MAIN_KEY: string (nullable = true)
|-- MAIN_KEY_NAME: string (nullable = true)
|-- ACNT_NAME: string (nullable = true)
|-- FLOW_TYPE: integer (nullable = true)
|-- FLOW_TYPE_NAME: string (nullable = true)
|-- SERVICE: string (nullable = true)
|-- DATE_VALUE: string (nullable = true)
|-- YEAR: string (nullable = true)
|-- MONTH: string (nullable = true)
|-- DAY: string (nullable = true)
|-- HOUR: integer (nullable = true)
|-- QUARTER: integer (nullable = true)
|-- MONTH_WITH_IN_QUARTER: integer (nullable = true)
|-- SEASON: string (nullable = true)
|-- WEEK: integer (nullable = true)
|-- DAY_OF_WEEK: string (nullable = true)
|-- WORKDAY: string (nullable = true)
|-- HOLIDAY_ID: integer (nullable = true)
|-- HOLIDAY_NAME: string (nullable = true)
|-- AM_PM: string (nullable = true)
|-- TRANS_YEAR: string (nullable = true)
|-- TRANS_MONTH: string (nullable = true)
and hive show table is bellow:
CREATE EXTERNAL TABLE `table1`(
`_hoodie_commit_time` string COMMENT '',
`_hoodie_commit_seqno` string COMMENT '',
`_hoodie_record_key` string COMMENT '',
`_hoodie_partition_path` string COMMENT '',
`_hoodie_file_name` string COMMENT '',
`id` int COMMENT '',
`merchant_id` int COMMENT '',
`merchant_name` string COMMENT '',
`product_id` int COMMENT '',
`product_name` string COMMENT '',
`trans_id` string COMMENT '',
`ps_trans_id` string COMMENT '',
`sw_order_id` string COMMENT '',
`chl_order_id` string COMMENT '',
`account_id` int COMMENT '',
`user_name` string COMMENT '',
`ip` string COMMENT '',
`paygate` int COMMENT '',
`paygate_name` string COMMENT '',
`ip_location` string COMMENT '',
`trans_status` int COMMENT '',
`amt` string COMMENT '',
`poundage` string COMMENT '',
`trans_type` int COMMENT '',
`wallet_error_code` string COMMENT '',
`wallet_error_desc` string COMMENT '',
`spgw_error_code` string COMMENT '',
`spgw_error_desc` string COMMENT '',
`chl_error_code` string COMMENT '',
`chl_error_desc` string COMMENT '',
`chl_error_type` string COMMENT '',
`trans_steps` int COMMENT '',
`trans_created_time` timestamp COMMENT '',
`trans_finish_time` timestamp COMMENT '',
`wallet_req_time` timestamp COMMENT '',
`spgw_req_time` timestamp COMMENT '',
`chl_res_time` timestamp COMMENT '',
`spgw_res_time` timestamp COMMENT '',
`chl_callback_time` timestamp COMMENT '',
`spgw_callback_time` timestamp COMMENT '',
`trans_cost_time` int COMMENT '',
`trans_avg_cost_time` int COMMENT '',
`error_code` string COMMENT '',
`time_dimension_id` int COMMENT '',
`account_amt` string COMMENT '',
`account_withdraw_amt` string COMMENT '',
`onway_amt` string COMMENT '',
`total_subsidy_amt` string COMMENT '',
`real_name` string COMMENT '',
`credentials_number` string COMMENT '',
`bind_mobile` string COMMENT '',
`bind_email` string COMMENT '',
`account_status` int COMMENT '',
`last_ip` string COMMENT '',
`last_login_time` timestamp COMMENT '',
`account_created_on` timestamp COMMENT '',
`account_updated_on` timestamp COMMENT '',
`last_trans_time` timestamp COMMENT '',
`freeze_time` timestamp COMMENT '',
`verity_level` int COMMENT '',
`product_acc_opened` int COMMENT '',
`pay_channel` string COMMENT '',
`channel_name` string COMMENT '',
`terminal_type` int COMMENT '',
`terminal_name` string COMMENT '',
`main_key` string COMMENT '',
`main_key_name` string COMMENT '',
`acnt_name` string COMMENT '',
`flow_type` int COMMENT '',
`flow_type_name` string COMMENT '',
`service` string COMMENT '',
`date_value` string COMMENT '',
`year` string COMMENT '',
`month` string COMMENT '',
`day` string COMMENT '',
`hour` int COMMENT '',
`quarter` int COMMENT '',
`month_with_in_quarter` int COMMENT '',
`season` string COMMENT '',
`week` int COMMENT '',
`day_of_week` string COMMENT '',
`workday` string COMMENT '',
`holiday_id` int COMMENT '',
`holiday_name` string COMMENT '',
`am_pm` string COMMENT '')
PARTITIONED BY (
`trans_year` string COMMENT '',
`trans_month` string COMMENT '')
ROW FORMAT SERDE
'org.apache.hadoop.hive.ql.io.parquet.serde.ParquetHiveSerDe'
WITH SERDEPROPERTIES (
'hoodie.query.as.ro.table'='false',
'path'='hdfs://router/user/xxx/table1')
STORED AS INPUTFORMAT
'org.apache.hudi.hadoop.HoodieParquetInputFormat'
OUTPUTFORMAT
'org.apache.hadoop.hive.ql.io.parquet.MapredParquetOutputFormat'
LOCATION
'hdfs://router/user/xxx/table1'
+----------------------------------------------------+
createtab_stmt
+----------------------------------------------------+
TBLPROPERTIES (
'last_commit_completion_time_sync'='20240813132534749',
'last_commit_time_sync'='20240813131932747',
'spark.sql.sources.provider'='hudi',
'spark.sql.sources.schema.numPartCols'='2',
'spark.sql.sources.schema.numParts'='2',
'spark.sql.sources.schema.part.0'='{"type":"struct","fields":[{"name":"_hoodie_commit_time","type":"string","nullable":true,"metadata":{}},{"name":"_hoodie_commit_seqno","type":"string","nullable":true,"metadata":{}},{"name":"_hoodie_record_key","type":"string","nullable":true,"metadata":{}},{"name":"_hoodie_partition_path","type":"string","nullable":true,"metadata":{}},{"name":"_hoodie_file_name","type":"string","nullable":true,"metadata":{}},{"name":"ID","type":"integer","nullable":true,"metadata":{}},{"name":"MERCHANT_ID","type":"integer","nullable":true,"metadata":{}},{"name":"MERCHANT_NAME","type":"string","nullable":true,"metadata":{}},{"name":"PRODUCT_ID","type":"integer","nullable":true,"metadata":{}},{"name":"PRODUCT_NAME","type":"string","nullable":true,"metadata":{}},{"name":"TRANS_ID","type":"string","nullable":true,"metadata":{}},{"name":"PS_TRANS_ID","type":"string","nullable":true,"metadata":{}},{"name":"SW_ORDER_ID","type":"string","nullable":true,"metadata":{}}
,{"name":"CHL_ORDER_ID","type":"string","nullable":true,"metadata":{}},{"name":"ACCOUNT_ID","type":"integer","nullable":true,"metadata":{}},{"name":"USER_NAME","type":"string","nullable":true,"metadata":{}},{"name":"IP","type":"string","nullable":true,"metadata":{}},{"name":"PAYGATE","type":"integer","nullable":true,"metadata":{}},{"name":"PAYGATE_NAME","type":"string","nullable":true,"metadata":{}},{"name":"IP_LOCATION","type":"string","nullable":true,"metadata":{}},{"name":"TRANS_STATUS","type":"integer","nullable":true,"metadata":{}},{"name":"AMT","type":"string","nullable":true,"metadata":{}},{"name":"POUNDAGE","type":"string","nullable":true,"metadata":{}},{"name":"TRANS_TYPE","type":"integer","nullable":true,"metadata":{}},{"name":"WALLET_ERROR_CODE","type":"string","nullable":true,"metadata":{}},{"name":"WALLET_ERROR_DESC","type":"string","nullable":true,"metadata":{}},{"name":"SPGW_ERROR_CODE","type":"string","nullable":true,"metadata":{}},{"name":"SPGW_ERROR_DESC","type":"s
tring","nullable":true,"metadata":{}},{"name":"CHL_ERROR_CODE","type":"string","nullable":true,"metadata":{}},{"name":"CHL_ERROR_DESC","type":"string","nullable":true,"metadata":{}},{"name":"CHL_ERROR_TYPE","type":"string","nullable":true,"metadata":{}},{"name":"TRANS_STEPS","type":"integer","nullable":true,"metadata":{}},{"name":"TRANS_CREATED_TIME","type":"timestamp","nullable":true,"metadata":{}},{"name":"TRANS_FINISH_TIME","type":"timestamp","nullable":true,"metadata":{}},{"name":"WALLET_REQ_TIME","type":"timestamp","nullable":true,"metadata":{}},{"name":"SPGW_REQ_TIME","type":"timestamp","nullable":true,"metadata":{}},{"name":"CHL_RES_TIME","type":"timestamp","nullable":true,"metadata":{}},{"name":"SPGW_RES_TIME","type":"timestamp","nullable":true,"metadata":{}},{"name":"CHL_CALLBACK_TIME","type":"timestamp","nullable":true,"metadata":{}},{"name":"SPGW_CALLBACK_TIME","type":"timestamp","nullable":true,"metadata":{}},{"name":"TRANS_COST_TIME","type":"integer","nullable":true,"me
tadata":{}},{"name":"TRANS_AVG_COST_TIME","type":"integer","nullable":true,"metadata":{}},{"name":"ERROR_CODE","type":"string","nullable":true,"metadata":{}},{"name":"TIME_DIMENSION_ID","type":"integer","nullable":true,"metadata":{}},{"name":"ACCOUNT_AMT","type":"string","nullable":true,"metadata":{}},{"name":"ACCOUNT_WITHDRAW_AMT","type":"string","nullable":true,"metadata":{}},{"name":"ONWAY_AMT","type":"string","nullable":true,"metadata":{}},{"name":"TOTAL_SUBSIDY_AMT","type":"string","nullable":true,"metadata":{}},{"name":"REAL_NAME","type":"string","nullable":true,"metadata":{}},{"name":"CREDENTIALS_NUMBER","type":"string","nullable":true,"metadata":{}},{"name":"BIND_MOBILE","type":"string","nullable":true,"metadata":{}},{"name":"BIND_EMAIL","type":"string","nullable":true,"metadata":{}},{"name":"ACCOUNT_STATUS","type":"integer","nullable":true,"metadata":{}},{"name":"LAST_IP","type":"string","nullable":true,"metadata":{}},{"name":"LAST_LOGIN_TIME","type":"timestamp","nullable":
true,"metadata":{}},{"name":"ACCOUNT_CREATED_ON","ty',
'spark.sql.sources.schema.part.1'='pe":"timestamp","nullable":true,"metadata":{}},{"name":"ACCOUNT_UPDATED_ON","type":"timestamp","nullable":true,"metadata":{}},{"name":"LAST_TRANS_TIME","type":"timestamp","nullable":true,"metadata":{}},{"name":"FREEZE_TIME","type":"timestamp","nullable":true,"metadata":{}},{"name":"VERITY_LEVEL","type":"integer","nullable":true,"metadata":{}},{"name":"PRODUCT_ACC_OPENED","type":"integer","nullable":true,"metadata":{}},{"name":"PAY_CHANNEL","type":"string","nullable":true,"metadata":{}},{"name":"CHANNEL_NAME","type":"string","nullable":true,"metadata":{}},{"name":"TERMINAL_TYPE","type":"integer","nullable":true,"metadata":{}},{"name":"TERMINAL_NAME","type":"string","nullable":true,"metadata":{}},{"name":"MAIN_KEY","type":"string","nullable":true,"metadata":{}},{"name":"MAIN_KEY_NAME","type":"string","nullable":true,"metadata":{}},{"name":"ACNT_NAME","type":"string","nullable":true,"metadata":{}},{"name":"FLOW_TYPE","type":"integer","nullable":t
rue,"metadata":{}},{"name":"FLOW_TYPE_NAME","type":"string","nullable":true,"metadata":{}},{"name":"SERVICE","type":"string","nullable":true,"metadata":{}},{"name":"DATE_VALUE","type":"string","nullable":true,"metadata":{}},{"name":"YEAR","type":"string","nullable":true,"metadata":{}},{"name":"MONTH","type":"string","nullable":true,"metadata":{}},{"name":"DAY","type":"string","nullable":true,"metadata":{}},{"name":"HOUR","type":"integer","nullable":true,"metadata":{}},{"name":"QUARTER","type":"integer","nullable":true,"metadata":{}},{"name":"MONTH_WITH_IN_QUARTER","type":"integer","nullable":true,"metadata":{}},{"name":"SEASON","type":"string","nullable":true,"metadata":{}},{"name":"WEEK","type":"integer","nullable":true,"metadata":{}},{"name":"DAY_OF_WEEK","type":"string","nullable":true,"metadata":{}},{"name":"WORKDAY","type":"string","nullable":true,"metadata":{}},{"name":"HOLIDAY_ID","type":"integer","nullable":true,"metadata":{}},{"name":"HOLIDAY_NAME","type":"string","nullable
":true,"metadata":{}},{"name":"AM_PM","type":"string","nullable":true,"metadata":{}},{"name":"TRANS_YEAR","type":"string","nullable":true,"metadata":{}},{"name":"TRANS_MONTH","type":"string","nullable":true,"metadata":{}}]}',
'spark.sql.sources.schema.partCol.0'='TRANS_YEAR',
'spark.sql.sources.schema.partCol.1'='TRANS_MONTH',
'transient_lastDdlTime'='1723458706')
--
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]