지원 기능: Apache Hive 2.3
지원 기능: Apache Hive 2.3 (Supported Features: Apache Hive 2.3)
이 문서는 Apache Hive 2.3이 SQL 표준(및 여러 확장) 기준으로 어떤 기능을 지원하는지 보여주는 호환성 매트릭스예요. 식별자(Identifier)는 SQL 표준 기능 식별자이며, "Yes"는 완전 지원, "Partial"은 부분 지원, Comment는 Hive에서의 실제 구현 방식입니다.
출처: 문서
본문
| Identifier | Description | Hive 2.3 | Comment |
|---|---|---|---|
| E011 | Numeric data types | Yes | |
| E011-01 | INTEGER and SMALLINT data types (including all spellings) | Yes | |
| E011-02 | REAL, DOUBLE PRECISON,and FLOAT data types | Yes | |
| E011-03 | DECIMAL and NUMERIC data types | Yes | |
| E011-04 | Arithmetic operators | Yes | |
| E011-05 | Numeric comparison | Yes | |
| E011-06 | Implicit casting among the numeric data types | Yes | |
| E021 | Character data types | Yes | |
| E021-01 | CHARACTER data type | Yes | Char instead of Character |
| E021-02 | CHARACTER VARYING data type | Yes | Varchar instead of Character Varying |
| E021-03 | Character literals | Yes | |
| E021-04 | CHARACTER_LENGTH function | Yes | |
| E021-05 | OCTET_LENGTH function | Yes | |
| E021-06 | SUBSTRING function | Yes | |
| E021-07 | Character concatenation | Yes | |
| E021-08 | UPPER and LOWER functions | Yes | |
| E021-09 | TRIM function | Partial | leading / trailing / both from not supported |
| E021-10 | Implicit casting among the fixed-length and variablelength character string types | Yes | |
| E021-12 | Character comparison | Yes | |
| E031 | Identifiers | Yes | |
| E031-01 | Delimited identifiers | Yes | |
| E031-03 | Trailing underscore | Yes | |
| E051 | Basic query specification | Yes | |
| E051-01 | SELECT DISTINCT | Yes | |
| E051-02 | GROUP BY clause | Partial | Empty grouping sets not supported |
| E051-04 | GROUP BY can contain columns not in | Yes | |
| E051-05 | Select list items can be renamed | Yes | |
| E051-06 | HAVING clause | Yes | |
| E051-07 | Qualified * in select list | Yes | |
| E051-08 | Correlation names in the FROM clause | Yes | |
| E061 | Basic predicates and search conditions | Yes | |
| E061-01 | Comparison predicate | Yes | |
| E061-02 | BETWEEN predicate | Yes | |
| E061-03 | IN predicate with list of values | Yes | |
| E061-04 | LIKE predicate | Yes | |
| E061-06 | NULL predicate | Yes | |
| E061-08 | EXISTS predicate | Yes | |
| E061-09 | Subqueries in comparison predicate | Yes | |
| E061-11 | Subqueries in IN predicate | Yes | |
| E061-13 | Correlated subqueries | Yes | |
| E071 | Basic query expressions | Yes | |
| E071-01 | UNION DISTINCT table operator | Yes | |
| E071-02 | UNION ALL table operator | Yes | |
| E071-03 | EXCEPT DISTINCT table operator | Yes | |
| E071-05 | Columns combined via table operators need not have exactly the same data type. | Yes | |
| E071-06 | Table operators in subqueries | Yes | |
| E081 | Basic Privileges | Yes | |
| E081-01 | SELECT privilege | Yes | |
| E081-03 | INSERT privilege at the table level | Yes | |
| E081-04 | UPDATE privilege at the table level | Yes | |
| E081-08 | WITH GRANT OPTION | Yes | |
| E091 | Set Functions | Yes | |
| E091-01 | AVG | Yes | |
| E091-02 | COUNT | Yes | |
| E091-03 | MAX | Yes | |
| E091-04 | MIN | Yes | |
| E091-05 | SUM | Yes | |
| E091-06 | ALL quantifier | Yes | |
| E091-07 | DISTINCT quantifier | Yes | |
| E101 | Basic data manipulation | Yes | |
| E101-01 | INSERT statement | Yes | |
| E101-03 | Searched UPDATE statement | Yes | |
| E101-04 | Searched DELETE statement | Yes | |
| E131 | Null value support (nulls in lieu of values) | Yes | |
| E141 | Basic integrity constraints | Yes | |
| E141-03 | PRIMARY KEY constraints | Partial | Non-enforced |
| E141-04 | Basic FOREIGN KEY constraint with the NO ACTION default for both referential delete action and referential update action | Partial | Non-enforced |
| E141-08 | NOT NULL inferred on PRIMARY KEY | Partial | Inferred on read |
| E141-10 | Names in a foreign key can be specified in any order | Yes | |
| E151 | Transaction support | Partial | Autocommit transaction for INSERT/UPDATE/DELETE/MERGE |
| E161 | SQL comments using leading double minus | Yes | |
| F031 | Basic schema manipulation | Yes | |
| F031-01 | CREATE TABLE statement to create persistent base tables | Yes | |
| F031-02 | CREATE VIEW statement | Yes | |
| F031-03 | GRANT statement | Yes | |
| F031-04 | ALTER TABLE statement: ADD COLUMN clause | Yes | |
| F031-13 | DROP TABLE statement: RESTRICT clause | Yes | |
| F031-16 | DROP VIEW statement: RESTRICT clause | Yes | |
| F041 | Basic joined table | Yes | |
| F041-01 | Inner join (but not necessarily the INNER keyword) | Yes | |
| F041-02 | INNER keyword | Yes | |
| F041-03 | LEFT OUTER JOIN | Yes | |
| F041-04 | RIGHT OUTER JOIN | Yes | |
| F041-05 | Outer joins can be nested | Yes | |
| F041-07 | The inner table in a left or right outer join can also be used in an inner join | Yes | |
| F041-08 | All comparison operators are supported (rather than just =) | Yes | |
| F051 | Basic date and time | Yes | |
| F051-01 | DATE data type (including support of DATE literal) | Yes | |
| F051-03 | TIMESTAMP data type (including support of TIMESTAMP literal) with fractional seconds precision of at least 0 and 6. | Yes | |
| F051-04 | Comparison predicate on DATE, TIME, and TIMESTAMP data types | Yes | |
| F051-05 | Explicit CAST between date-time types and character string types | Yes | |
| F051-06 | CURRENT_DATE | Yes | |
| F052 | Intervals and datetime arithmetic | Yes | |
| F054 | TIMESTAMP in DATE type precedence list | Yes | |
| F081 | UNION and EXCEPT in views | Yes | |
| F131 | Grouped operations | Yes | |
| F131-01 | WHERE, GROUP BY, and HAVING clauses supported in queries with grouped views | Yes | |
| F131-02 | Multiple tables supported in queries with grouped views | Yes | |
| F131-03 | Set functions supported in queries with grouped views | Yes | |
| F131-04 | Subqueries with GROUP BY and HAVING clauses and grouped views | Yes | |
| F171 | Multiple schemas per user | Yes | |
| F200 | TRUNCATE TABLE statement | Yes | |
| F201 | CAST function | Yes | |
| F261 | CASE expression | Yes | |
| F261-01 | Simple CASE | Yes | |
| F261-02 | Searched CASE | Yes | |
| F261-03 | NULLIF | Yes | |
| F261-04 | COALESCE | Yes | |
| F271 | Compound character literals | Yes | |
| F281 | LIKE enhancements | Partial | Escape characters not supported |
| F302 | INTERSECT table operator | Yes | |
| F302-01 | INTERSECT DISTINCT table operator | Yes | |
| F302-02 | INTERSECT ALL table operator | Yes | |
| F304 | EXCEPT ALL table operator | Yes | |
| F311-01 | CREATE SCHEMA | Partial | Database is used as the equivalent |
| F311-02 | CREATE TABLE for persistent base tables | Yes | |
| F311-03 | CREATE VIEW | Yes | |
| F311-05 | GRANT statement | Yes | |
| F312 | MERGE statement | Yes | |
| F314 | MERGE statement with DELETE branch | Yes | |
| F382 | Alter column data type | Yes | Uses nonstandard syntax |
| F391 | Long identifiers | Yes | |
| F401 | Extended joined table | Yes | |
| F401-01 | NATURAL JOIN | Yes | |
| F401-02 | FULL OUTER JOIN | Yes | |
| F401-04 | CROSS JOIN | Yes | |
| F403 | Partitioned join tables | Yes | |
| F531 | Temporary tables | Yes | |
| F555 | Enhanced seconds precision | Yes | |
| F561 | Full value expressions | Yes | |
| F591 | Derived tables | Yes | |
| F641 | Row and table constructors | Yes | |
| F651 | Catalog name qualifiers | Yes | |
| F846 | Octet support in regular expression operators | Yes | |
| F847 | Nonconstant regular expressions | Yes | |
| F850 | Top-level |
Yes | |
| F851 | Yes | ||
| F852 | Top-level |
Yes | |
| F855 | Nested |
Yes | |
| S023 | Basic structured types | Yes | |
| S091 | Basic array support | Yes | |
| S091-01 | Arrays of built-in data types | Yes | |
| S091-02 | Arrays of distinct types | Yes | |
| S098 | ARRAY_AGG | Partial | collect_list provides similar functionality |
| S201-01 | Array parameters | Yes | |
| S281 | Nested collection types | Yes | |
| S301 | Enhanced UNNEST | Partial | LATERAL JOIN provides similar functionality |
| T021 | BINARY and VARBINARY data types | Partial | BINARY only |
| T031 | BOOLEAN data type | Yes | |
| T051 | Row types | Yes | |
| T071 | BIGINT data type | Yes | |
| T121 | WITH (excluding RECURSIVE) in query expression | Yes | |
| T122 | WITH (excluding RECURSIVE) in subquery | Yes | |
| T171 | LIKE clause in table definition | Yes | |
| T172 | AS subquery clause in table definition | Yes | |
| T281 | SELECT privilege with column granularity | Partial | Provided by ecosystem projects like Apache Ranger and Apache Sentry |
| T326 | Table functions | Yes | |
| T331 | Basic roles | Yes | |
| T351 | Bracketed comments | Yes | |
| T431 | Extended grouping capabilities | Partial | Concatenated grouping sets unsupported |
| T433 | Multiargument GROUPING function | Yes | |
| T441 | ABS and MOD functions | Yes | |
| T501 | Enhanced EXISTS predicate | Yes | |
| T551 | Optional key words for default syntax | Yes | |
| T581 | Regular expression substring function | Yes | |
| T611 | Elementary OLAP operations | Yes | |
| T612 | Advanced OLAP operations | Partial | PERCENT_RANK, CUME_DIST and ROW_NUMBER supported |
| T613 | Sampling | Yes | Nonstandard syntax via TABLESAMPLE |
| T614 | NTILE function | Yes | |
| T615 | LEAD and LAG functions | Yes | |
| T616 | Null treatment option for LEAD and LAG functions | Yes | |
| T617 | FIRST_VALUE and LAST_VALUE functions | Yes | |
| T621 | Enhanced numeric functions | Yes | |
| T631 | IN predicate with one list element | Yes |
더 알아보기 (Learn more)
이 표는 Hive 2.3이 SQL 표준 기능을 얼마나 따르는지 한눈에 보여줘요. 대부분의 기본 기능(숫자·문자 데이터 타입, SELECT/DISTINCT/GROUP BY, JOIN, 집계, MERGE 등)은 지원하지만, 제약조건을 적용하지 않고(non-enforced) TRIM·GROUPING SETS·LIKE 등 일부는 부분 지원(Partial)이라는 점을 참고하세요.