配置单元解释计划不显示分区

iaqfqrcu  于 2021-06-26  发布在  Hive
关注(0)|答案(1)|浏览(469)

我有一个表,其中包含251m记录和大小是2.5gb。我在 predicate 中的两列上创建了一个分区。但是解释计划没有显示它正在读取分区,即使我已经分区了。通过选择from partition列,我将插入到另一个表中。
我在 predicate 中提到条件有什么特别的顺序吗?我应该如何提高绩效。

  1. explain
  2. SELECT
  3. '123' AS run_session_id
  4. , tbl1.transaction_id
  5. , tbl1.src_transaction_id
  6. , tbl1.transaction_created_epoch_time
  7. , tbl1.currency
  8. , tbl1.event_type
  9. , tbl1.event_sub_type
  10. , tbl1.estimated_total_cost
  11. , tbl1.actual_total_cost
  12. , tbl1.tfc_export_created_epoch_time
  13. , tbl1.authorizer
  14. , tbl1.acquirer
  15. , tbl1.processor
  16. , tbl1.company_code
  17. , tbl1.country_of_account
  18. , tbl1.merchant_id
  19. , tbl1.client_id
  20. , tbl1.ft_id
  21. , tbl1.transaction_created_date
  22. , tbl1.event_pst_time
  23. , tbl1.extract_id_seq
  24. , tbl1.src_type
  25. , ROW_NUMBER() OVER(PARTITION by tbl1.transaction_id ORDER BY tbl1.event_pst_time DESC) AS seq_num -- while writing back to the pfit events table, write each event so that event_pst_time populates in right way
  26. FROM db.xx_events tbl1 --<hiveFinalDB>-- -- DB variables wont work, so need to change the DB accrodingly for testing and PROD deployment
  27. WHERE id_seq >= 215
  28. AND id_seq <= 275
  29. AND vent in('SPT','PNR','PNE','PNER','ACT','NTE');

现在如何提高性能。分隔柱为(id\ seq,vent)

p8ekf7hl

p8ekf7hl1#

explain dependency select ... ####演示

  1. create table mytable (i int)
  2. partitioned by (dt date)
  3. ;
  1. alter table mytable add
  2. partition (dt=date '2017-06-18')
  3. partition (dt=date '2017-06-19')
  4. partition (dt=date '2017-06-20')
  5. partition (dt=date '2017-06-21')
  6. partition (dt=date '2017-06-22')
  7. ;
  1. explain dependency
  2. select *
  3. from mytable
  4. where dt >= date '2017-06-20'
  5. ;
  1. +---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  2. | Explain |
  3. +---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  4. | {"input_tables":[{"tablename":"local_db@mytable","tabletype":"MANAGED_TABLE"}],"input_partitions":[{"partitionName":"local_db@mytable@dt=2017-06-20"},{"partitionName":"local_db@mytable@dt=2017-06-21"},{"partitionName":"local_db@mytable@dt=2017-06-22"}]} |
  5. +---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+

“输入分区”:[
{“分区名称”:local_db@mytable@dt=2017-06-20},{“分区名称”:local_db@mytable@dt=2017-06-21},{“分区名称”:local_db@mytable@dt=2017-06-22"}]}

展开查看全部

相关问题