You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@drill.apache.org by "Denys Ordynskiy (Jira)" <ji...@apache.org> on 2020/01/31 21:24:00 UTC

[jira] [Closed] (DRILL-7357) Expose Drill Metastore data through INFORMATION_SCHEMA

     [ https://issues.apache.org/jira/browse/DRILL-7357?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Denys Ordynskiy closed DRILL-7357.
----------------------------------

Successfully tested INFORMATION_SCHEMA tables.

New columns in the `*TABLES*` table filling by the 'REFRESH METADATA' command.

In `*COLUMNS*` table all fields gets data from 'REFRESH METADATA' command. Instead of `COLUMN_DEFAULT`, `COLUMN_FORMAT` columns. Drill will use these columns later in the future Metastore implementations.
To fill the columns `NDV` and `EST_NUM_NON_NULLS` option `planner.statistics.use` should be 'true'.

Parquet table with subdirectories was used to fill `*PARTITIONS*` table.

> Expose Drill Metastore data through INFORMATION_SCHEMA
> ------------------------------------------------------
>
>                 Key: DRILL-7357
>                 URL: https://issues.apache.org/jira/browse/DRILL-7357
>             Project: Apache Drill
>          Issue Type: Sub-task
>            Reporter: Arina Ielchiieva
>            Assignee: Arina Ielchiieva
>            Priority: Major
>              Labels: ready-to-commit
>             Fix For: 1.17.0
>
>
> Document:
> https://docs.google.com/document/d/10CkLdrlUJUNRrHKLeo8jTUJB8xAP1D0byTOvn8wNoF0/edit#heading=h.gzj2dj5a4yds
> Sections: 
> 5.19 INFORMATION_SCHEMA updates
> 4.3.2 Using the statistics
> information_schema tables will contain data from Metastore only if {{metastore.enabled}} is set to true.
> This Jira will add additional columns to TABLES and COLUMNS tables and new PARTITIONS table.
> Note: new columns or table are applicable only for Metastore data, for data from different sources these columns will be set to null.
> Additional columns
> *TABLES:*
> TABLE_SOURCE - table data type: PARQUET, CSV, JSON
> LOCATION - table location: /tmp/nation
> NUM_ROWS - number of rows in a table if know, null if not known 
> LAST_MODIFIED_TIME - table's last modification time
> *COLUMNS:*
> COLUMN_SIZE (already existed but was not included, applicable for all sources) - estimated column size, for example for boolean 1, for integer 11 (sign + 10 digits), etc.
> COLUMN_DEFAULT (already existed but never was filled in) - column default value  
> COLUMN_FORMAT - usually applicable for date time columns: yyyy-MM-dd
> NUM_NULLS - number of nulls in column values
> MIN_VAL - column min value in String representation: aaa
> MAX_VAL - column max value in String representation: zzz
> NDV - number of distinct values in column, expressed in Double
> EST_NUM_NON_NULLS - estimated number of non null values, expressed in Double
> IS_NESTED - if column is nested. Nested columns are extracted from columns with struct type.
> *PARTITIONS* table columns:
> TABLE_CATALOG - table catalog (currently we have only one catalog): DRILL
> TABLE_SCHEMA - table schema: dfs.tmp
> TABLE_NAME - table name: nation
> METADATA_KEY - top level segment key, he same for all nested segments and partitions: part_int=3
> METADATA_TYPE - SEGMENT or PARTITION
> METADATA_IDENTIFIER - current metadata identifier: part_int=3/part_varchar=g
> PARTITION_COLUMN - partition column name: part_varchar
> PARTITION_VALUE - partition column  value: g
> LOCATION - segment location, null for partitions: /tmp/nation/part_int=3
> LAST_MODIFIED_TIME - last modification time



--
This message was sent by Atlassian Jira
(v8.3.4#803005)