Commit Graph

389 Commits

Author SHA1 Message Date
Marcel Kornacker
49160d0ad8 join hints 2014-01-08 10:49:46 -08:00
Alex Behm
2277386d4d IMPALA-225: Compound predicate ranges on partition keys crash impalad. 2014-01-08 10:49:45 -08:00
Lenni Kuff
16504f2a27 Fix formatting of errors/exceptions returned from FE 2014-01-08 10:49:44 -08:00
Alan Choi
b282175461 IMPA-213 Disable DN server check; disable all checks if impala cannot detech cdh version 2014-01-08 10:49:44 -08:00
Henry Robinson
711e3f1aed IMPALA-220: Type check static partition columns 2014-01-08 10:49:40 -08:00
Alex Behm
2575a34fa3 Improved error reporting when using impala-shell. 2014-01-08 10:49:38 -08:00
Henry Robinson
14d29aa579 Add plan and number of fragment instances to profile 2014-01-08 10:49:38 -08:00
Henry Robinson
e3a16903d5 IMPALA-224: Unknown target DB for INSERT should not raise an NPE 2014-01-08 10:49:36 -08:00
Alan Choi
51c47a94d2 Fix volume id in FE 2014-01-08 10:49:35 -08:00
Marcel Kornacker
398e725a23 make broadcast joins the default join strategy 2014-01-08 10:49:34 -08:00
Alan Choi
0b0367d82e Fix volume id for partitioned table 2014-01-08 10:49:33 -08:00
Alex Behm
1b2e8280d4 Fix NULL issues. 2014-01-08 10:49:32 -08:00
Lenni Kuff
e218721386 IMPALA-198: Support setting file format, table comment in CREATE TABLE LIKE statements 2014-01-08 10:49:31 -08:00
Alan Choi
c419ae1891 Add 4.1 direct read configuration check
Impala detects the HDFS version by reading the Namenode web UI and run
the corresponding check.

On 4.1, Impala tries to check the datanode (server side) config by reading
the datanode web UI.
2014-01-08 10:49:31 -08:00
Marcel Kornacker
d7e22f44bb Partitioned hash joins
- added PlanNode.numNodes, PlanNode.avgRowSize and PlanNode.computeStats()
- fixing up some cardinality estimates
- Planner now tries to do a cost-based decision between broadcast join and join with full repartitioning (both inputs)
- ExchangeNode now distinguishes between its input and output row descriptor: the output potentially contains more tuples
- fixed problem related to cancellation and concurrent hash table builds.

Not included:
- partitioned joins that take advantage of existing partitions of the inputs; those will have to wait for a follow-on change
2014-01-08 10:49:29 -08:00
Lenni Kuff
0b768edcfd Check metadata cache for partition spec existence for ADD/DROP PARTITION 2014-01-08 10:49:24 -08:00
Lenni Kuff
15f0313283 Add analysis checks for length of RowFormat strings, fix escaping of row format values 2014-01-08 10:49:21 -08:00
Lenni Kuff
018a72bfe2 IMPALA-189: Properly support NULL partition key values in ALTER .. PARTITION statements 2014-01-08 10:49:21 -08:00
Alan Choi
4a503a4e35 IMP-808 construct runtime state in fe-support to eval now() 2014-01-08 10:49:20 -08:00
Alan Choi
afc6f83ba6 IMP-819 Pass file length to backend 2014-01-08 10:49:18 -08:00
Alex Behm
0821e2f826 IMPALA-66: Support for UNION with constant SELECT clauses. 2014-01-08 10:49:18 -08:00
Lenni Kuff
5a0b1270c4 Add support for ALTER ... PARTITION (partitionSpec) SET FILEFORMAT/LOCATION
Adds support for:
* ALTER TABLE <table> PARTITION (partitionSpec) SET FILEFORMAT
* ALTER TABLE <table> PARTITION (partitionSpec) SET LOCATION

This enables setting the location and fileformat of specific partitions.
2014-01-08 10:49:17 -08:00
Lenni Kuff
f946419630 IMPALA-41: KW_TABLE should be optional for INSERT commands 2014-01-08 10:49:17 -08:00
Lenni Kuff
1fb72fbc73 IMPALA-156: Support core 'ALTER TABLE' DDL command
This patch adds support for
- ALTER TABLE ADD|REPLACE COLUMNS
- ALTER TABLE DROP COLUMN
- ALTER TABLE ADD/DROP PARTITION
- ALTER TABLE SET FILEFORMAT
- ALTER TABLE SET LOCATION
- ALTER TABLE RENAME
2014-01-08 10:49:14 -08:00
Marcel Kornacker
8207047b85 fix broken build 2014-01-08 10:49:07 -08:00
Marcel Kornacker
a354e5ef90 fix broken build 2014-01-08 10:49:07 -08:00
Elliott Clark
cc35292f49 Estimate number of rows in an hbase scan.
* Added the ability to estimate the number of rows from HBaseTable.
2014-01-08 10:49:07 -08:00
Marcel Kornacker
0dc71464e4 Selectivty estimation
This includes:
- adding Expr.numDistinctValues and Expr.selectivity
- propagating column stats to SlotDescriptor
- adding TupleDescriptor.avgSerializedSize
- adding PlanNode.selectivity and changing the finalize() implementations in
  the subclasses to compute selectivity

Not included:
- some cleanup (still has extra logging output)
- tests (those will show up as part of the planner tests for repartitioning joins)
2014-01-08 10:49:06 -08:00
Elliott Clark
0e0c02b6bd Add the ability to Select into HBase table.
* Changed frontend analysis for HBase tables
* Changed Thrift messages to allow HBase as a sink type.
* JNI Wrapper around htable
* Create hbase-table-sink
* Create hbase-table-writer
* Static init lots of JNI related code for HBase.
* Cleaned up some cpplint issues.
* Changed junit analysis tests
* Create a new HBase test table.
* Added functional tests for HBase inserts.
2014-01-08 10:49:06 -08:00
Alan Choi
991db9001b IMPALA-113 Raise error when default order by limit is exceeded 2014-01-08 10:49:03 -08:00
Alex Behm
4c40e78589 IMPALA-170: Allow identifiers to start with number. 2014-01-08 10:49:02 -08:00
Lenni Kuff
ac7fb11da3 Add analysis check for duplicate column names in create table statements 2014-01-08 10:49:00 -08:00
Marcel Kornacker
0c36c7f327 Partitioned merge aggregation. 2014-01-08 10:48:59 -08:00
Marcel Kornacker
e8cd8bfae0 Adding column stats to catalog:
- new class ColumnStats
- stats get loaded table-wide for each column
- new tests
- missing yet: partition-specific col stats
2014-01-08 10:48:58 -08:00
Lenni Kuff
0b4dff1b28 Service CREATE TABLE LIKE requests from Impala's table metadata cache 2014-01-08 10:48:56 -08:00
Lenni Kuff
7584312540 IMPALA-167: Impala should gracefully handle unsupported Hive table types 2014-01-08 10:48:56 -08:00
Lenni Kuff
ca0d23a844 IMPALA-157: Support CREATE TABLE LIKE DDL 2014-01-08 10:48:55 -08:00
Henry Robinson
8d87972695 Improve parser coverage
This patch adds support for the following SQL constructs

  - Unary + operator
  - The ALL keyword, in SELECT ALL and SELECT aggregate_func(ALL *)
  - REAL and INTEGER as type synonyms for DOUBLE and INT respectively
  - The AS keyword after a table spec. e.g. SELECT * FROM tbl AS t0
2014-01-08 10:48:54 -08:00
Elliott Clark
ade4453a17 Allow impala hbase serdproperties to have newlines 2014-01-08 10:48:54 -08:00
Alex Behm
be03e6c21c IMPALA-138: Error messages for unknown column types are particularly bad. 2014-01-08 10:48:53 -08:00
Alex Behm
b72c6ab71b IMPALA-152: SELECT ... ORDER BY without specifying a table name fails with IllegalStateException 2014-01-08 10:48:52 -08:00
Alex Behm
a01573af63 IMPALA-65: Add MySQL-style string literals with escaping. 2014-01-08 10:48:51 -08:00
Nong Li
0df9476be1 Parquet data loading. 2014-01-08 10:48:48 -08:00
Alex Behm
f4d961a241 IMPALA-151: bad DCHECK on "select count(foo, bar)" queries 2014-01-08 10:48:47 -08:00
Lenni Kuff
6a7b7ea2e0 IMPALA-149: Serialize Hive Metastore metadata loading
This change serializes the Hive Metastore metadata loading code to workaround HIVE-3521
2014-01-08 10:48:45 -08:00
Nong Li
6e293090e6 Parquet writer.
Change-Id: I7117b545e3d3a7803a219234ad992040a6c7c4ec
2014-01-08 10:48:44 -08:00
Alexander Behm
39e443407b IMPALA-136: GROUP BY float/double. 2014-01-08 10:48:43 -08:00
Nong Li
62b4afbde4 Catalog loading now accesses volume id internals to get at disk id. 2014-01-08 10:48:42 -08:00
Marcel Kornacker
d7bfe6c68d IMPALA-144: partition pruning for arbitrary predicates that are fully bound by partition columns
This makes partition pruning more effective by extending it to predicates that are fully bound by the partition column,
e.g., '<col> IN (1, 2, 3)' will also be used to prune partitions, in addition to equality and binary comparisons.
2014-01-08 10:48:41 -08:00
Lenni Kuff
d57440e87d Allow column comments for CREATE TABLE and DESCRIBE <table> statements 2014-01-08 10:48:37 -08:00