title: Hive: predicat pushdown doesn't work on ' where col_name is not null '?
body: <p><strong>when I running this sql code:</strong></p>
  <p>explain
  select count(1)
  from default.ec_order_info
  where  coupon_discount_info is not null</p>
  <p><strong>query-plan shows:</strong></p>
  <pre><code>
  STAGE DEPENDENCIES:
    Stage-1 is a root stage
    Stage-0 depends on stages: Stage-1
  
  STAGE PLANS:
    Stage: Stage-1
      Spark
        Edges:
          Reducer 2 &lt;- Map 1 (GROUP, 1)
        DagName: hadoop_20201214011253_e4bb44b1-5a14-42a5-bc89-c2b99d2d3a4c:1
        Vertices:
          Map 1
              Map Operator Tree:
                  TableScan
                    alias: ec_order_info
                    filterExpr: coupon_discount_info is not null (type: boolean)
                    Statistics: Num rows: 105309 Data size: 267756631 Basic stats: COMPLETE Column stats: NONE
                    Filter Operator
                      predicate: coupon_discount_info is not null (type: boolean)
                      Statistics: Num rows: 105309 Data size: 267756631 Basic stats: COMPLETE Column stats: NONE
                      Select Operator
                        Statistics: Num rows: 105309 Data size: 267756631 Basic stats: COMPLETE Column stats: NONE
                        Reduce Output Operator
                          sort order:
                          Statistics: Num rows: 105309 Data size: 267756631 Basic stats: COMPLETE Column stats: NONE
          Reducer 2
              Reduce Operator Tree:
                Group By Operator
                  aggregations: count(1)
                  mode: complete
                  outputColumnNames: _col0
                  Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE
                  File Output Operator
                    compressed: false
                    Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE
                    table:
                        input format: org.apache.hadoop.mapred.SequenceFileInputFormat
                        output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
                        serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
  
    Stage: Stage-0
      Fetch Operator
        limit: -1
        Processor Tree:
          ListSink
  </code></pre>
  <p><strong>show create-table format :</strong></p>
  <pre><code>CREATE TABLE `default.ec_order_info`(
    `coupon_discount_info` string)
  ROW FORMAT SERDE
    'org.apache.hadoop.hive.ql.io.orc.OrcSerde'
  STORED AS INPUTFORMAT
    'org.apache.hadoop.hive.ql.io.orc.OrcInputFormat'
  OUTPUTFORMAT
    'org.apache.hadoop.hive.ql.io.orc.OrcOutputFormat'
  LOCATION 
  </code></pre>
  <p>Filer operator rownums is 105309 ,equal to full-table rows, why predicate pushdown doesn't work? Ask for your help,thx!</p>