Update Impala docs for 2.10 release Commit hash = 40ec6d0080638efaf3260672ab54ea4674896c5e
Several new HTML files for this release. Change-Id: Idea1f417d404b99dad9fb8255849867f1e67e767 Reviewed-on: http://gerrit.cloudera.org:8080/8511 Reviewed-by: Michael Brown <[email protected]> Tested-by: John Russell <[email protected]> Project: http://git-wip-us.apache.org/repos/asf/incubator-impala/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-impala/commit/ca9005be Tree: http://git-wip-us.apache.org/repos/asf/incubator-impala/tree/ca9005be Diff: http://git-wip-us.apache.org/repos/asf/incubator-impala/diff/ca9005be Branch: refs/heads/asf-site Commit: ca9005be57eb3151d6842dd62e740ca323014742 Parents: f79399f Author: John Russell <[email protected]> Authored: Thu Nov 9 14:21:39 2017 -0800 Committer: John Russell <[email protected]> Committed: Mon Nov 13 23:26:01 2017 +0000 ---------------------------------------------------------------------- docs/build/html/index.html | 2 +- docs/build/html/topics/impala_adls.html | 9 +- docs/build/html/topics/impala_alter_table.html | 71 +- docs/build/html/topics/impala_array.html | 2 +- .../html/topics/impala_buffer_pool_limit.html | 71 + .../build/html/topics/impala_compute_stats.html | 32 +- .../html/topics/impala_config_options.html | 5 +- docs/build/html/topics/impala_connecting.html | 9 +- docs/build/html/topics/impala_create_table.html | 28 +- .../html/topics/impala_datetime_functions.html | 310 +++- .../impala_default_spillable_buffer_size.html | 87 ++ .../impala_exec_single_node_rows_threshold.html | 2 +- docs/build/html/topics/impala_fixed_issues.html | 1452 +++++++++--------- docs/build/html/topics/impala_hbase.html | 9 + docs/build/html/topics/impala_hints.html | 10 +- .../topics/impala_incompatible_changes.html | 144 +- docs/build/html/topics/impala_joins.html | 2 +- docs/build/html/topics/impala_known_issues.html | 290 ++-- docs/build/html/topics/impala_kudu.html | 8 + docs/build/html/topics/impala_logging.html | 3 +- docs/build/html/topics/impala_map.html | 2 +- .../html/topics/impala_math_functions.html | 165 +- docs/build/html/topics/impala_max_row_size.html | 221 +++ .../impala_min_spillable_buffer_size.html | 87 ++ docs/build/html/topics/impala_new_features.html | 135 +- docs/build/html/topics/impala_partitioning.html | 148 ++ docs/build/html/topics/impala_perf_joins.html | 21 +- docs/build/html/topics/impala_perf_stats.html | 40 +- .../build/html/topics/impala_query_options.html | 4 +- .../html/topics/impala_reserved_words.html | 2 +- docs/build/html/topics/impala_scalability.html | 259 +++- docs/build/html/topics/impala_select.html | 19 +- .../html/topics/impala_shell_commands.html | 24 + .../topics/impala_shell_running_commands.html | 69 +- docs/build/html/topics/impala_ssl.html | 71 + .../html/topics/impala_string_functions.html | 270 ++++ docs/build/html/topics/impala_struct.html | 2 +- docs/build/html/topics/impala_subqueries.html | 16 + docs/build/html/topics/impala_tablesample.html | 554 +++++++ docs/build/html/topics/impala_upgrading.html | 4 +- docs/build/html/topics/impala_views.html | 16 + docs/build/impala-2.10.pdf | Bin 0 -> 3847517 bytes impala-docs.html | 17 +- 43 files changed, 3572 insertions(+), 1120 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-impala/blob/ca9005be/docs/build/html/index.html ---------------------------------------------------------------------- diff --git a/docs/build/html/index.html b/docs/build/html/index.html index abf79ec..829524c 100644 --- a/docs/build/html/index.html +++ b/docs/build/html/index.html @@ -1,3 +1,3 @@ <!DOCTYPE html SYSTEM "about:legacy-compat"> -<html lang="en"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><meta charset="UTF-8"><meta name="copyright" content="(C) Copyright 2017"><meta name="DC.rights.owner" content="(C) Copyright 2017"><meta name="DC.Type" content="map"><meta name="DC.Format" content="XHTML"><meta name="DC.Identifier" content="impala"><link rel="stylesheet" type="text/css" href="commonltr.css"><title>Apache Impala (incubating) Guide</title></head><body id="impala"><h1 class="title topictitle1">Apache Impala (incubating) Guide</h1><nav><ul class="map"><li class="topicref"><a href="topics/impala_intro.html">Introducing Apache Impala (incubating)</a></li><li class="topicref"><a href="topics/impala_concepts.html">Concepts and Architecture</a><ul><li class="topicref"><a href="topics/impala_components.html">Components</a></li><li class="topicref"><a href="topics/impala_development.html">Developing Applications</a></li><li class="topicref"><a href="topics/impala_hadoop.html">Role in the Hadoop Ecosystem</a></li></ul></li><li class="topicref"><a href="topics/impala_planning.html">Deployment Planning</a><ul><li class="topicref"><a href="topics/impala_prereqs.html#prereqs">Requirements</a></li><li class="topicref"><a href="topics/impala_cluster_sizing.html">Cluster Sizing</a></li><li class="topicref"><a href="topics/impala_schema_design.html">Designing Schemas</a></li></ul></li><li class="topicref"><a href="topics/impala_install.html#install">Installing Impala</a></li><li class="topicref"><a href="topics/impala_config.html">Managing Impala</a><ul><li class="topicref"><a href="topics/impala_config_performance.html">Post-Installation Configuration for Impala</a></li><li class="topicref"><a href="topics/impala_odbc.html">Configuring Impala to Work with ODBC</a></li><li class="topicref"><a href="topics/impala_jdbc.html">Configuring Impala to Work with JDBC</a></li></ul></li><li class="topicref"><a href="topics/impala_upgrading.html">Upgrading Impala</a></li><li class="top icref"><a href="topics/impala_processes.html">Starting Impala</a><ul><li class="topicref"><a href="topics/impala_config_options.html">Modifying Impala Startup Options</a></li></ul></li><li class="topicref"><a href="topics/impala_tutorial.html">Tutorials</a></li><li class="topicref"><a href="topics/impala_admin.html">Administration</a><ul><li class="topicref"><a href="topics/impala_admission.html">Admission Control and Query Queuing</a></li><li class="topicref"><a href="topics/impala_resource_management.html">Resource Management for Impala</a></li><li class="topicref"><a href="topics/impala_timeouts.html">Setting Timeouts</a></li><li class="topicref"><a href="topics/impala_proxy.html">Load-Balancing Proxy for HA</a></li><li class="topicref"><a href="topics/impala_disk_space.html">Managing Disk Space</a></li></ul></li><li class="topicref"><a href="topics/impala_security.html">Impala Security</a><ul><li class="topicref"><a href="topics/impala_security_guidelines.html">Security Guidelin es for Impala</a></li><li class="topicref"><a href="topics/impala_security_files.html">Securing Impala Data and Log Files</a></li><li class="topicref"><a href="topics/impala_security_install.html">Installation Considerations for Impala Security</a></li><li class="topicref"><a href="topics/impala_security_metastore.html">Securing the Hive Metastore Database</a></li><li class="topicref"><a href="topics/impala_security_webui.html">Securing the Impala Web User Interface</a></li><li class="topicref"><a href="topics/impala_ssl.html">Configuring TLS/SSL for Impala</a></li><li class="topicref"><a href="topics/impala_authorization.html">Enabling Sentry Authorization for Impala</a></li><li class="topicref"><a href="topics/impala_authentication.html">Impala Authentication</a><ul><li class="topicref"><a href="topics/impala_kerberos.html">Enabling Kerberos Authentication for Impala</a></li><li class="topicref"><a href="topics/impala_ldap.html">Enabling LDAP Authentication for Impala</a></li><li class="topicref"><a href="topics/impala_mixed_security.html">Using Multiple Authentication Methods with Impala</a></li><li class="topicref"><a href="topics/impala_delegation.html">Configuring Impala Delegation for Hue and BI Tools</a></li></ul></li><li class="topicref"><a href="topics/impala_auditing.html">Auditing</a></li><li class="topicref"><a href="topics/impala_lineage.html">Viewing Lineage Info</a></li></ul></li><li class="topicref"><a href="topics/impala_langref.html">SQL Reference</a><ul><li class="topicref"><a href="topics/impala_comments.html">Comments</a></li><li class="topicref"><a href="topics/impala_datatypes.html">Data Types</a><ul><li class="topicref"><a href="topics/impala_array.html">ARRAY Complex Type (Impala 2.3 or higher only)</a></li><li class="topicref"><a href="topics/impala_bigint.html">BIGINT</a></li><li class="topicref"><a href="topics/impala_boolean.html">BOOLEAN</a></li><li class="topicref"><a href="topics/impala_char.html">CHAR</a></li><li class="topicr ef"><a href="topics/impala_decimal.html">DECIMAL</a></li><li class="topicref"><a href="topics/impala_double.html">DOUBLE</a></li><li class="topicref"><a href="topics/impala_float.html">FLOAT</a></li><li class="topicref"><a href="topics/impala_int.html">INT</a></li><li class="topicref"><a href="topics/impala_map.html">MAP Complex Type (Impala 2.3 or higher only)</a></li><li class="topicref"><a href="topics/impala_real.html">REAL</a></li><li class="topicref"><a href="topics/impala_smallint.html">SMALLINT</a></li><li class="topicref"><a href="topics/impala_string.html">STRING</a></li><li class="topicref"><a href="topics/impala_struct.html">STRUCT Complex Type (Impala 2.3 or higher only)</a></li><li class="topicref"><a href="topics/impala_timestamp.html">TIMESTAMP</a></li><li class="topicref"><a href="topics/impala_tinyint.html">TINYINT</a></li><li class="topicref"><a href="topics/impala_varchar.html">VARCHAR</a></li><li class="topicref"><a href="topics/impala_complex_types.html">Comple x Types (Impala 2.3 or higher only)</a></li></ul></li><li class="topicref"><a href="topics/impala_literals.html">Literals</a></li><li class="topicref"><a href="topics/impala_operators.html">SQL Operators</a></li><li class="topicref"><a href="topics/impala_schema_objects.html">Schema Objects and Object Names</a><ul><li class="topicref"><a href="topics/impala_aliases.html">Aliases</a></li><li class="topicref"><a href="topics/impala_databases.html">Databases</a></li><li class="topicref"><a href="topics/impala_functions_overview.html">Functions</a></li><li class="topicref"><a href="topics/impala_identifiers.html">Identifiers</a></li><li class="topicref"><a href="topics/impala_tables.html">Tables</a></li><li class="topicref"><a href="topics/impala_views.html">Views</a></li></ul></li><li class="topicref"><a href="topics/impala_langref_sql.html">SQL Statements</a><ul><li class="topicref"><a href="topics/impala_ddl.html">DDL Statements</a></li><li class="topicref"><a href="topics/impala_dml .html">DML Statements</a></li><li class="topicref"><a href="topics/impala_alter_table.html">ALTER TABLE</a></li><li class="topicref"><a href="topics/impala_alter_view.html">ALTER VIEW</a></li><li class="topicref"><a href="topics/impala_compute_stats.html">COMPUTE STATS</a></li><li class="topicref"><a href="topics/impala_create_database.html">CREATE DATABASE</a></li><li class="topicref"><a href="topics/impala_create_function.html">CREATE FUNCTION</a></li><li class="topicref"><a href="topics/impala_create_role.html">CREATE ROLE</a></li><li class="topicref"><a href="topics/impala_create_table.html">CREATE TABLE</a></li><li class="topicref"><a href="topics/impala_create_view.html">CREATE VIEW</a></li><li class="topicref"><a href="topics/impala_delete.html">DELETE</a></li><li class="topicref"><a href="topics/impala_describe.html">DESCRIBE</a></li><li class="topicref"><a href="topics/impala_drop_database.html">DROP DATABASE</a></li><li class="topicref"><a href="topics/impala_drop_function .html">DROP FUNCTION</a></li><li class="topicref"><a href="topics/impala_drop_role.html">DROP ROLE</a></li><li class="topicref"><a href="topics/impala_drop_stats.html">DROP STATS</a></li><li class="topicref"><a href="topics/impala_drop_table.html">DROP TABLE</a></li><li class="topicref"><a href="topics/impala_drop_view.html">DROP VIEW</a></li><li class="topicref"><a href="topics/impala_explain.html">EXPLAIN</a></li><li class="topicref"><a href="topics/impala_grant.html">GRANT</a></li><li class="topicref"><a href="topics/impala_insert.html">INSERT</a></li><li class="topicref"><a href="topics/impala_invalidate_metadata.html">INVALIDATE METADATA</a></li><li class="topicref"><a href="topics/impala_load_data.html">LOAD DATA</a></li><li class="topicref"><a href="topics/impala_refresh.html">REFRESH</a></li><li class="topicref"><a href="topics/impala_revoke.html">REVOKE</a></li><li class="topicref"><a href="topics/impala_select.html">SELECT</a><ul><li class="topicref"><a href="topics/impala _joins.html">Joins</a></li><li class="topicref"><a href="topics/impala_order_by.html">ORDER BY Clause</a></li><li class="topicref"><a href="topics/impala_group_by.html">GROUP BY Clause</a></li><li class="topicref"><a href="topics/impala_having.html">HAVING Clause</a></li><li class="topicref"><a href="topics/impala_limit.html">LIMIT Clause</a></li><li class="topicref"><a href="topics/impala_offset.html">OFFSET Clause</a></li><li class="topicref"><a href="topics/impala_union.html">UNION Clause</a></li><li class="topicref"><a href="topics/impala_subqueries.html">Subqueries</a></li><li class="topicref"><a href="topics/impala_with.html">WITH Clause</a></li><li class="topicref"><a href="topics/impala_distinct.html">DISTINCT Operator</a></li><li class="topicref"><a href="topics/impala_hints.html">Hints</a></li></ul></li><li class="topicref"><a href="topics/impala_set.html">SET</a><ul><li class="topicref"><a href="topics/impala_query_options.html">Query Options for the SET Statement</a><ul> <li class="topicref"><a href="topics/impala_abort_on_default_limit_exceeded.html">ABORT_ON_DEFAULT_LIMIT_EXCEEDED</a></li><li class="topicref"><a href="topics/impala_abort_on_error.html">ABORT_ON_ERROR</a></li><li class="topicref"><a href="topics/impala_allow_unsupported_formats.html">ALLOW_UNSUPPORTED_FORMATS</a></li><li class="topicref"><a href="topics/impala_appx_count_distinct.html">APPX_COUNT_DISTINCT</a></li><li class="topicref"><a href="topics/impala_batch_size.html">BATCH_SIZE</a></li><li class="topicref"><a href="topics/impala_compression_codec.html">COMPRESSION_CODEC</a></li><li class="topicref"><a href="topics/impala_debug_action.html">DEBUG_ACTION</a></li><li class="topicref"><a href="topics/impala_default_join_distribution_mode.html">DEFAULT_JOIN_DISTRIBUTION_MODE</a></li><li class="topicref"><a href="topics/impala_default_order_by_limit.html">DEFAULT_ORDER_BY_LIMIT</a></li><li class="topicref"><a href="topics/impala_disable_codegen.html">DISABLE_CODEGEN</a></li><li cla ss="topicref"><a href="topics/impala_decimal_v2.html">DECIMAL_V2</a></li><li class="topicref"><a href="topics/impala_disable_row_runtime_filtering.html">DISABLE_ROW_RUNTIME_FILTERING</a></li><li class="topicref"><a href="topics/impala_disable_streaming_preaggregations.html">DISABLE_STREAMING_PREAGGREGATIONS</a></li><li class="topicref"><a href="topics/impala_disable_unsafe_spills.html">DISABLE_UNSAFE_SPILLS</a></li><li class="topicref"><a href="topics/impala_exec_single_node_rows_threshold.html">EXEC_SINGLE_NODE_ROWS_THRESHOLD</a></li><li class="topicref"><a href="topics/impala_explain_level.html">EXPLAIN_LEVEL</a></li><li class="topicref"><a href="topics/impala_hbase_cache_blocks.html">HBASE_CACHE_BLOCKS</a></li><li class="topicref"><a href="topics/impala_hbase_caching.html">HBASE_CACHING</a></li><li class="topicref"><a href="topics/impala_live_progress.html">LIVE_PROGRESS</a></li><li class="topicref"><a href="topics/impala_live_summary.html">LIVE_SUMMARY</a></li><li class="topicre f"><a href="topics/impala_max_errors.html">MAX_ERRORS</a></li><li class="topicref"><a href="topics/impala_max_io_buffers.html">MAX_IO_BUFFERS</a></li><li class="topicref"><a href="topics/impala_max_scan_range_length.html">MAX_SCAN_RANGE_LENGTH</a></li><li class="topicref"><a href="topics/impala_max_num_runtime_filters.html">MAX_NUM_RUNTIME_FILTERS</a></li><li class="topicref"><a href="topics/impala_mem_limit.html">MEM_LIMIT</a></li><li class="topicref"><a href="topics/impala_mt_dop.html">MT_DOP</a></li><li class="topicref"><a href="topics/impala_num_nodes.html">NUM_NODES</a></li><li class="topicref"><a href="topics/impala_num_scanner_threads.html">NUM_SCANNER_THREADS</a></li><li class="topicref"><a href="topics/impala_optimize_partition_key_scans.html">OPTIMIZE_PARTITION_KEY_SCANS</a></li><li class="topicref"><a href="topics/impala_parquet_compression_codec.html">PARQUET_COMPRESSION_CODEC</a></li><li class="topicref"><a href="topics/impala_parquet_annotate_strings_utf8.html">PARQUET _ANNOTATE_STRINGS_UTF8</a></li><li class="topicref"><a href="topics/impala_parquet_fallback_schema_resolution.html">PARQUET_FALLBACK_SCHEMA_RESOLUTION</a></li><li class="topicref"><a href="topics/impala_parquet_file_size.html">PARQUET_FILE_SIZE</a></li><li class="topicref"><a href="topics/impala_prefetch_mode.html">PREFETCH_MODE</a></li><li class="topicref"><a href="topics/impala_query_timeout_s.html">QUERY_TIMEOUT_S</a></li><li class="topicref"><a href="topics/impala_request_pool.html">REQUEST_POOL</a></li><li class="topicref"><a href="topics/impala_replica_preference.html">REPLICA_PREFERENCE</a></li><li class="topicref"><a href="topics/impala_reservation_request_timeout.html">RESERVATION_REQUEST_TIMEOUT</a></li><li class="topicref"><a href="topics/impala_runtime_bloom_filter_size.html">RUNTIME_BLOOM_FILTER_SIZE</a></li><li class="topicref"><a href="topics/impala_runtime_filter_max_size.html">RUNTIME_FILTER_MAX_SIZE</a></li><li class="topicref"><a href="topics/impala_runtime_filter _min_size.html">RUNTIME_FILTER_MIN_SIZE</a></li><li class="topicref"><a href="topics/impala_runtime_filter_mode.html">RUNTIME_FILTER_MODE</a></li><li class="topicref"><a href="topics/impala_runtime_filter_wait_time_ms.html">RUNTIME_FILTER_WAIT_TIME_MS</a></li><li class="topicref"><a href="topics/impala_s3_skip_insert_staging.html">S3_SKIP_INSERT_STAGING</a></li><li class="topicref"><a href="topics/impala_scan_node_codegen_threshold.html">SCAN_NODE_CODEGEN_THRESHOLD</a></li><li class="topicref"><a href="topics/impala_scratch_limit.html">SCRATCH_LIMIT</a></li><li class="topicref"><a href="topics/impala_schedule_random_replica.html">SCHEDULE_RANDOM_REPLICA</a></li><li class="topicref"><a href="topics/impala_support_start_over.html">SUPPORT_START_OVER</a></li><li class="topicref"><a href="topics/impala_sync_ddl.html">SYNC_DDL</a></li><li class="topicref"><a href="topics/impala_v_cpu_cores.html">V_CPU_CORES</a></li></ul></li></ul></li><li class="topicref"><a href="topics/impala_show.html ">SHOW</a></li><li class="topicref"><a href="topics/impala_truncate_table.html">TRUNCATE TABLE</a></li><li class="topicref"><a href="topics/impala_update.html">UPDATE</a></li><li class="topicref"><a href="topics/impala_upsert.html">UPSERT</a></li><li class="topicref"><a href="topics/impala_use.html">USE</a></li></ul></li><li class="topicref"><a href="topics/impala_functions.html">Built-In Functions</a><ul><li class="topicref"><a href="topics/impala_math_functions.html">Mathematical Functions</a></li><li class="topicref"><a href="topics/impala_bit_functions.html">Bit Functions</a></li><li class="topicref"><a href="topics/impala_conversion_functions.html">Type Conversion Functions</a></li><li class="topicref"><a href="topics/impala_datetime_functions.html">Date and Time Functions</a></li><li class="topicref"><a href="topics/impala_conditional_functions.html">Conditional Functions</a></li><li class="topicref"><a href="topics/impala_string_functions.html">String Functions</a></li><li cl ass="topicref"><a href="topics/impala_misc_functions.html">Miscellaneous Functions</a></li><li class="topicref"><a href="topics/impala_aggregate_functions.html">Aggregate Functions</a><ul><li class="topicref"><a href="topics/impala_appx_median.html">APPX_MEDIAN</a></li><li class="topicref"><a href="topics/impala_avg.html">AVG</a></li><li class="topicref"><a href="topics/impala_count.html">COUNT</a></li><li class="topicref"><a href="topics/impala_group_concat.html">GROUP_CONCAT</a></li><li class="topicref"><a href="topics/impala_max.html">MAX</a></li><li class="topicref"><a href="topics/impala_min.html">MIN</a></li><li class="topicref"><a href="topics/impala_ndv.html">NDV</a></li><li class="topicref"><a href="topics/impala_stddev.html">STDDEV, STDDEV_SAMP, STDDEV_POP</a></li><li class="topicref"><a href="topics/impala_sum.html">SUM</a></li><li class="topicref"><a href="topics/impala_variance.html">VARIANCE, VARIANCE_SAMP, VARIANCE_POP, VAR_SAMP, VAR_POP</a></li></ul></li><li class="t opicref"><a href="topics/impala_analytic_functions.html">Analytic Functions</a></li><li class="topicref"><a href="topics/impala_udf.html">Impala User-Defined Functions (UDFs)</a></li></ul></li><li class="topicref"><a href="topics/impala_langref_unsupported.html">SQL Differences Between Impala and Hive</a></li><li class="topicref"><a href="topics/impala_porting.html">Porting SQL</a></li></ul></li><li class="topicref"><a href="topics/impala_impala_shell.html">The Impala Shell</a><ul><li class="topicref"><a href="topics/impala_shell_options.html">Configuration Options</a></li><li class="topicref"><a href="topics/impala_connecting.html">Connecting to impalad</a></li><li class="topicref"><a href="topics/impala_shell_running_commands.html">Running Commands and SQL Statements</a></li><li class="topicref"><a href="topics/impala_shell_commands.html">Command Reference</a></li></ul></li><li class="topicref"><a href="topics/impala_performance.html">Performance Tuning</a><ul><li class="topicref" ><a href="topics/impala_perf_cookbook.html">Performance Best >Practices</a></li><li class="topicref"><a >href="topics/impala_perf_joins.html">Join Performance</a></li><li >class="topicref"><a href="topics/impala_perf_stats.html">Table and Column >Statistics</a></li><li class="topicref"><a >href="topics/impala_perf_benchmarking.html">Benchmarking</a></li><li >class="topicref"><a href="topics/impala_perf_resources.html">Controlling >Resource Usage</a></li><li class="topicref"><a >href="topics/impala_runtime_filtering.html">Runtime Filtering</a></li><li >class="topicref"><a href="topics/impala_perf_hdfs_caching.html">HDFS >Caching</a></li><li class="topicref"><a >href="topics/impala_perf_testing.html">Testing Impala Performance</a></li><li >class="topicref"><a href="topics/impala_explain_plan.html">EXPLAIN Plans and >Query Profiles</a></li><li class="topicref"><a >href="topics/impala_perf_skew.html">HDFS Block Skew</a></li></ul></li><li >class="topicref"><a href="topics/impala_scalability.html">Scala bility Considerations</a></li><li class="topicref"><a href="topics/impala_partitioning.html">Partitioning</a></li><li class="topicref"><a href="topics/impala_file_formats.html">File Formats</a><ul><li class="topicref"><a href="topics/impala_txtfile.html">Text Data Files</a></li><li class="topicref"><a href="topics/impala_parquet.html">Parquet Data Files</a></li><li class="topicref"><a href="topics/impala_avro.html">Avro Data Files</a></li><li class="topicref"><a href="topics/impala_rcfile.html">RCFile Data Files</a></li><li class="topicref"><a href="topics/impala_seqfile.html">SequenceFile Data Files</a></li></ul></li><li class="topicref"><a href="topics/impala_kudu.html">Using Impala to Query Kudu Tables</a></li><li class="topicref"><a href="topics/impala_hbase.html">HBase Tables</a></li><li class="topicref"><a href="topics/impala_s3.html">S3 Tables</a></li><li class="topicref"><a href="topics/impala_adls.html">ADLS Tables</a></li><li class="topicref"><a href="topics/impala_isilon. html">Isilon Storage</a></li><li class="topicref"><a href="topics/impala_logging.html">Logging</a></li><li class="topicref"><a href="topics/impala_troubleshooting.html">Troubleshooting Impala</a><ul><li class="topicref"><a href="topics/impala_webui.html">Web User Interface</a></li><li class="topicref"><a href="topics/impala_breakpad.html">Breakpad Minidumps</a></li></ul></li><li class="topicref"><a href="topics/impala_ports.html">Ports Used by Impala</a></li><li class="topicref"><a href="topics/impala_reserved_words.html">Impala Reserved Words</a></li><li class="topicref"><a href="topics/impala_faq.html">Impala Frequently Asked Questions</a></li><li class="topicref"><a href="topics/impala_release_notes.html">Impala Release Notes</a><ul><li class="topicref"><a href="topics/impala_relnotes.html">Impala Release Notes</a></li><li class="topicref"><a href="topics/impala_new_features.html">New Features in Apache Impala (incubating)</a></li><li class="topicref"><a href="topics/impala_incom patible_changes.html">Incompatible Changes and Limitations in Apache Impala (incubating)</a></li><li class="topicref"><a href="topics/impala_known_issues.html">Known Issues and Workarounds in Impala</a></li><li class="topicref"><a href="topics/impala_fixed_issues.html">Fixed Issues in Apache Impala (incubating)</a></li></ul></li></ul></nav></body></html> \ No newline at end of file +<html lang="en"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><meta charset="UTF-8"><meta name="copyright" content="(C) Copyright 2017"><meta name="DC.rights.owner" content="(C) Copyright 2017"><meta name="DC.Type" content="map"><meta name="DC.Format" content="XHTML"><meta name="DC.Identifier" content="impala"><link rel="stylesheet" type="text/css" href="commonltr.css"><title>Apache Impala (incubating) Guide</title></head><body id="impala"><h1 class="title topictitle1">Apache Impala (incubating) Guide</h1><nav><ul class="map"><li class="topicref"><a href="topics/impala_intro.html">Introducing Apache Impala (incubating)</a></li><li class="topicref"><a href="topics/impala_concepts.html">Concepts and Architecture</a><ul><li class="topicref"><a href="topics/impala_components.html">Components</a></li><li class="topicref"><a href="topics/impala_development.html">Developing Applications</a></li><li class="topicref"><a href="topics/impala_hadoop.html">Role in the Hadoop Ecosystem</a></li></ul></li><li class="topicref"><a href="topics/impala_planning.html">Deployment Planning</a><ul><li class="topicref"><a href="topics/impala_prereqs.html#prereqs">Requirements</a></li><li class="topicref"><a href="topics/impala_cluster_sizing.html">Cluster Sizing</a></li><li class="topicref"><a href="topics/impala_schema_design.html">Designing Schemas</a></li></ul></li><li class="topicref"><a href="topics/impala_install.html#install">Installing Impala</a></li><li class="topicref"><a href="topics/impala_config.html">Managing Impala</a><ul><li class="topicref"><a href="topics/impala_config_performance.html">Post-Installation Configuration for Impala</a></li><li class="topicref"><a href="topics/impala_odbc.html">Configuring Impala to Work with ODBC</a></li><li class="topicref"><a href="topics/impala_jdbc.html">Configuring Impala to Work with JDBC</a></li></ul></li><li class="topicref"><a href="topics/impala_upgrading.html">Upgrading Impala</a></li><li class="top icref"><a href="topics/impala_processes.html">Starting Impala</a><ul><li class="topicref"><a href="topics/impala_config_options.html">Modifying Impala Startup Options</a></li></ul></li><li class="topicref"><a href="topics/impala_tutorial.html">Tutorials</a></li><li class="topicref"><a href="topics/impala_admin.html">Administration</a><ul><li class="topicref"><a href="topics/impala_admission.html">Admission Control and Query Queuing</a></li><li class="topicref"><a href="topics/impala_resource_management.html">Resource Management for Impala</a></li><li class="topicref"><a href="topics/impala_timeouts.html">Setting Timeouts</a></li><li class="topicref"><a href="topics/impala_proxy.html">Load-Balancing Proxy for HA</a></li><li class="topicref"><a href="topics/impala_disk_space.html">Managing Disk Space</a></li></ul></li><li class="topicref"><a href="topics/impala_security.html">Impala Security</a><ul><li class="topicref"><a href="topics/impala_security_guidelines.html">Security Guidelin es for Impala</a></li><li class="topicref"><a href="topics/impala_security_files.html">Securing Impala Data and Log Files</a></li><li class="topicref"><a href="topics/impala_security_install.html">Installation Considerations for Impala Security</a></li><li class="topicref"><a href="topics/impala_security_metastore.html">Securing the Hive Metastore Database</a></li><li class="topicref"><a href="topics/impala_security_webui.html">Securing the Impala Web User Interface</a></li><li class="topicref"><a href="topics/impala_ssl.html">Configuring TLS/SSL for Impala</a></li><li class="topicref"><a href="topics/impala_authorization.html">Enabling Sentry Authorization for Impala</a></li><li class="topicref"><a href="topics/impala_authentication.html">Impala Authentication</a><ul><li class="topicref"><a href="topics/impala_kerberos.html">Enabling Kerberos Authentication for Impala</a></li><li class="topicref"><a href="topics/impala_ldap.html">Enabling LDAP Authentication for Impala</a></li><li class="topicref"><a href="topics/impala_mixed_security.html">Using Multiple Authentication Methods with Impala</a></li><li class="topicref"><a href="topics/impala_delegation.html">Configuring Impala Delegation for Hue and BI Tools</a></li></ul></li><li class="topicref"><a href="topics/impala_auditing.html">Auditing</a></li><li class="topicref"><a href="topics/impala_lineage.html">Viewing Lineage Info</a></li></ul></li><li class="topicref"><a href="topics/impala_langref.html">SQL Reference</a><ul><li class="topicref"><a href="topics/impala_comments.html">Comments</a></li><li class="topicref"><a href="topics/impala_datatypes.html">Data Types</a><ul><li class="topicref"><a href="topics/impala_array.html">ARRAY Complex Type (Impala 2.3 or higher only)</a></li><li class="topicref"><a href="topics/impala_bigint.html">BIGINT</a></li><li class="topicref"><a href="topics/impala_boolean.html">BOOLEAN</a></li><li class="topicref"><a href="topics/impala_char.html">CHAR</a></li><li class="topicr ef"><a href="topics/impala_decimal.html">DECIMAL</a></li><li class="topicref"><a href="topics/impala_double.html">DOUBLE</a></li><li class="topicref"><a href="topics/impala_float.html">FLOAT</a></li><li class="topicref"><a href="topics/impala_int.html">INT</a></li><li class="topicref"><a href="topics/impala_map.html">MAP Complex Type (Impala 2.3 or higher only)</a></li><li class="topicref"><a href="topics/impala_real.html">REAL</a></li><li class="topicref"><a href="topics/impala_smallint.html">SMALLINT</a></li><li class="topicref"><a href="topics/impala_string.html">STRING</a></li><li class="topicref"><a href="topics/impala_struct.html">STRUCT Complex Type (Impala 2.3 or higher only)</a></li><li class="topicref"><a href="topics/impala_timestamp.html">TIMESTAMP</a></li><li class="topicref"><a href="topics/impala_tinyint.html">TINYINT</a></li><li class="topicref"><a href="topics/impala_varchar.html">VARCHAR</a></li><li class="topicref"><a href="topics/impala_complex_types.html">Comple x Types (Impala 2.3 or higher only)</a></li></ul></li><li class="topicref"><a href="topics/impala_literals.html">Literals</a></li><li class="topicref"><a href="topics/impala_operators.html">SQL Operators</a></li><li class="topicref"><a href="topics/impala_schema_objects.html">Schema Objects and Object Names</a><ul><li class="topicref"><a href="topics/impala_aliases.html">Aliases</a></li><li class="topicref"><a href="topics/impala_databases.html">Databases</a></li><li class="topicref"><a href="topics/impala_functions_overview.html">Functions</a></li><li class="topicref"><a href="topics/impala_identifiers.html">Identifiers</a></li><li class="topicref"><a href="topics/impala_tables.html">Tables</a></li><li class="topicref"><a href="topics/impala_views.html">Views</a></li></ul></li><li class="topicref"><a href="topics/impala_langref_sql.html">SQL Statements</a><ul><li class="topicref"><a href="topics/impala_ddl.html">DDL Statements</a></li><li class="topicref"><a href="topics/impala_dml .html">DML Statements</a></li><li class="topicref"><a href="topics/impala_alter_table.html">ALTER TABLE</a></li><li class="topicref"><a href="topics/impala_alter_view.html">ALTER VIEW</a></li><li class="topicref"><a href="topics/impala_compute_stats.html">COMPUTE STATS</a></li><li class="topicref"><a href="topics/impala_create_database.html">CREATE DATABASE</a></li><li class="topicref"><a href="topics/impala_create_function.html">CREATE FUNCTION</a></li><li class="topicref"><a href="topics/impala_create_role.html">CREATE ROLE</a></li><li class="topicref"><a href="topics/impala_create_table.html">CREATE TABLE</a></li><li class="topicref"><a href="topics/impala_create_view.html">CREATE VIEW</a></li><li class="topicref"><a href="topics/impala_delete.html">DELETE</a></li><li class="topicref"><a href="topics/impala_describe.html">DESCRIBE</a></li><li class="topicref"><a href="topics/impala_drop_database.html">DROP DATABASE</a></li><li class="topicref"><a href="topics/impala_drop_function .html">DROP FUNCTION</a></li><li class="topicref"><a href="topics/impala_drop_role.html">DROP ROLE</a></li><li class="topicref"><a href="topics/impala_drop_stats.html">DROP STATS</a></li><li class="topicref"><a href="topics/impala_drop_table.html">DROP TABLE</a></li><li class="topicref"><a href="topics/impala_drop_view.html">DROP VIEW</a></li><li class="topicref"><a href="topics/impala_explain.html">EXPLAIN</a></li><li class="topicref"><a href="topics/impala_grant.html">GRANT</a></li><li class="topicref"><a href="topics/impala_insert.html">INSERT</a></li><li class="topicref"><a href="topics/impala_invalidate_metadata.html">INVALIDATE METADATA</a></li><li class="topicref"><a href="topics/impala_load_data.html">LOAD DATA</a></li><li class="topicref"><a href="topics/impala_refresh.html">REFRESH</a></li><li class="topicref"><a href="topics/impala_revoke.html">REVOKE</a></li><li class="topicref"><a href="topics/impala_select.html">SELECT</a><ul><li class="topicref"><a href="topics/impala _joins.html">Joins</a></li><li class="topicref"><a href="topics/impala_order_by.html">ORDER BY Clause</a></li><li class="topicref"><a href="topics/impala_group_by.html">GROUP BY Clause</a></li><li class="topicref"><a href="topics/impala_having.html">HAVING Clause</a></li><li class="topicref"><a href="topics/impala_limit.html">LIMIT Clause</a></li><li class="topicref"><a href="topics/impala_offset.html">OFFSET Clause</a></li><li class="topicref"><a href="topics/impala_union.html">UNION Clause</a></li><li class="topicref"><a href="topics/impala_subqueries.html">Subqueries</a></li><li class="topicref"><a href="topics/impala_tablesample.html">TABLESAMPLE Clause</a></li><li class="topicref"><a href="topics/impala_with.html">WITH Clause</a></li><li class="topicref"><a href="topics/impala_distinct.html">DISTINCT Operator</a></li><li class="topicref"><a href="topics/impala_hints.html">Hints</a></li></ul></li><li class="topicref"><a href="topics/impala_set.html">SET</a><ul><li class="topicre f"><a href="topics/impala_query_options.html">Query Options for the SET Statement</a><ul><li class="topicref"><a href="topics/impala_abort_on_default_limit_exceeded.html">ABORT_ON_DEFAULT_LIMIT_EXCEEDED</a></li><li class="topicref"><a href="topics/impala_abort_on_error.html">ABORT_ON_ERROR</a></li><li class="topicref"><a href="topics/impala_allow_unsupported_formats.html">ALLOW_UNSUPPORTED_FORMATS</a></li><li class="topicref"><a href="topics/impala_appx_count_distinct.html">APPX_COUNT_DISTINCT</a></li><li class="topicref"><a href="topics/impala_batch_size.html">BATCH_SIZE</a></li><li class="topicref"><a href="topics/impala_buffer_pool_limit.html">BUFFER_POOL_LIMIT</a></li><li class="topicref"><a href="topics/impala_compression_codec.html">COMPRESSION_CODEC</a></li><li class="topicref"><a href="topics/impala_debug_action.html">DEBUG_ACTION</a></li><li class="topicref"><a href="topics/impala_decimal_v2.html">DECIMAL_V2</a></li><li class="topicref"><a href="topics/impala_default_join_d istribution_mode.html">DEFAULT_JOIN_DISTRIBUTION_MODE</a></li><li class="topicref"><a href="topics/impala_default_order_by_limit.html">DEFAULT_ORDER_BY_LIMIT</a></li><li class="topicref"><a href="topics/impala_default_spillable_buffer_size.html">DEFAULT_SPILLABLE_BUFFER_SIZE</a></li><li class="topicref"><a href="topics/impala_disable_codegen.html">DISABLE_CODEGEN</a></li><li class="topicref"><a href="topics/impala_disable_row_runtime_filtering.html">DISABLE_ROW_RUNTIME_FILTERING</a></li><li class="topicref"><a href="topics/impala_disable_streaming_preaggregations.html">DISABLE_STREAMING_PREAGGREGATIONS</a></li><li class="topicref"><a href="topics/impala_disable_unsafe_spills.html">DISABLE_UNSAFE_SPILLS</a></li><li class="topicref"><a href="topics/impala_exec_single_node_rows_threshold.html">EXEC_SINGLE_NODE_ROWS_THRESHOLD</a></li><li class="topicref"><a href="topics/impala_explain_level.html">EXPLAIN_LEVEL</a></li><li class="topicref"><a href="topics/impala_hbase_cache_blocks.html"> HBASE_CACHE_BLOCKS</a></li><li class="topicref"><a href="topics/impala_hbase_caching.html">HBASE_CACHING</a></li><li class="topicref"><a href="topics/impala_live_progress.html">LIVE_PROGRESS</a></li><li class="topicref"><a href="topics/impala_live_summary.html">LIVE_SUMMARY</a></li><li class="topicref"><a href="topics/impala_max_errors.html">MAX_ERRORS</a></li><li class="topicref"><a href="topics/impala_max_io_buffers.html">MAX_IO_BUFFERS</a></li><li class="topicref"><a href="topics/impala_max_row_size.html">MAX_ROW_SIZE</a></li><li class="topicref"><a href="topics/impala_max_num_runtime_filters.html">MAX_NUM_RUNTIME_FILTERS</a></li><li class="topicref"><a href="topics/impala_max_scan_range_length.html">MAX_SCAN_RANGE_LENGTH</a></li><li class="topicref"><a href="topics/impala_mem_limit.html">MEM_LIMIT</a></li><li class="topicref"><a href="topics/impala_min_spillable_buffer_size.html">MIN_SPILLABLE_BUFFER_SIZE</a></li><li class="topicref"><a href="topics/impala_mt_dop.html">MT_DOP</a ></li><li class="topicref"><a >href="topics/impala_num_nodes.html">NUM_NODES</a></li><li class="topicref"><a >href="topics/impala_num_scanner_threads.html">NUM_SCANNER_THREADS</a></li><li >class="topicref"><a >href="topics/impala_optimize_partition_key_scans.html">OPTIMIZE_PARTITION_KEY_SCANS</a></li><li > class="topicref"><a >href="topics/impala_parquet_compression_codec.html">PARQUET_COMPRESSION_CODEC</a></li><li > class="topicref"><a >href="topics/impala_parquet_annotate_strings_utf8.html">PARQUET_ANNOTATE_STRINGS_UTF8</a></li><li > class="topicref"><a >href="topics/impala_parquet_fallback_schema_resolution.html">PARQUET_FALLBACK_SCHEMA_RESOLUTION</a></li><li > class="topicref"><a >href="topics/impala_parquet_file_size.html">PARQUET_FILE_SIZE</a></li><li >class="topicref"><a >href="topics/impala_prefetch_mode.html">PREFETCH_MODE</a></li><li >class="topicref"><a >href="topics/impala_query_timeout_s.html">QUERY_TIMEOUT_S</a></li><li >class="topicref"><a href="topics/impala_request_pool.html">REQUEST_PO OL</a></li><li class="topicref"><a href="topics/impala_replica_preference.html">REPLICA_PREFERENCE</a></li><li class="topicref"><a href="topics/impala_reservation_request_timeout.html">RESERVATION_REQUEST_TIMEOUT</a></li><li class="topicref"><a href="topics/impala_runtime_bloom_filter_size.html">RUNTIME_BLOOM_FILTER_SIZE</a></li><li class="topicref"><a href="topics/impala_runtime_filter_max_size.html">RUNTIME_FILTER_MAX_SIZE</a></li><li class="topicref"><a href="topics/impala_runtime_filter_min_size.html">RUNTIME_FILTER_MIN_SIZE</a></li><li class="topicref"><a href="topics/impala_runtime_filter_mode.html">RUNTIME_FILTER_MODE</a></li><li class="topicref"><a href="topics/impala_runtime_filter_wait_time_ms.html">RUNTIME_FILTER_WAIT_TIME_MS</a></li><li class="topicref"><a href="topics/impala_s3_skip_insert_staging.html">S3_SKIP_INSERT_STAGING</a></li><li class="topicref"><a href="topics/impala_scan_node_codegen_threshold.html">SCAN_NODE_CODEGEN_THRESHOLD</a></li><li class="topicref"><a href="topics/impala_schedule_random_replica.html">SCHEDULE_RANDOM_REPLICA</a></li><li class="topicref"><a href="topics/impala_scratch_limit.html">SCRATCH_LIMIT</a></li><li class="topicref"><a href="topics/impala_support_start_over.html">SUPPORT_START_OVER</a></li><li class="topicref"><a href="topics/impala_sync_ddl.html">SYNC_DDL</a></li><li class="topicref"><a href="topics/impala_v_cpu_cores.html">V_CPU_CORES</a></li></ul></li></ul></li><li class="topicref"><a href="topics/impala_show.html">SHOW</a></li><li class="topicref"><a href="topics/impala_truncate_table.html">TRUNCATE TABLE</a></li><li class="topicref"><a href="topics/impala_update.html">UPDATE</a></li><li class="topicref"><a href="topics/impala_upsert.html">UPSERT</a></li><li class="topicref"><a href="topics/impala_use.html">USE</a></li></ul></li><li class="topicref"><a href="topics/impala_functions.html">Built-In Functions</a><ul><li class="topicref"><a href="topics/impala_math_functions.html">Mathematical Functions</a></ li><li class="topicref"><a href="topics/impala_bit_functions.html">Bit Functions</a></li><li class="topicref"><a href="topics/impala_conversion_functions.html">Type Conversion Functions</a></li><li class="topicref"><a href="topics/impala_datetime_functions.html">Date and Time Functions</a></li><li class="topicref"><a href="topics/impala_conditional_functions.html">Conditional Functions</a></li><li class="topicref"><a href="topics/impala_string_functions.html">String Functions</a></li><li class="topicref"><a href="topics/impala_misc_functions.html">Miscellaneous Functions</a></li><li class="topicref"><a href="topics/impala_aggregate_functions.html">Aggregate Functions</a><ul><li class="topicref"><a href="topics/impala_appx_median.html">APPX_MEDIAN</a></li><li class="topicref"><a href="topics/impala_avg.html">AVG</a></li><li class="topicref"><a href="topics/impala_count.html">COUNT</a></li><li class="topicref"><a href="topics/impala_group_concat.html">GROUP_CONCAT</a></li><li class="t opicref"><a href="topics/impala_max.html">MAX</a></li><li class="topicref"><a href="topics/impala_min.html">MIN</a></li><li class="topicref"><a href="topics/impala_ndv.html">NDV</a></li><li class="topicref"><a href="topics/impala_stddev.html">STDDEV, STDDEV_SAMP, STDDEV_POP</a></li><li class="topicref"><a href="topics/impala_sum.html">SUM</a></li><li class="topicref"><a href="topics/impala_variance.html">VARIANCE, VARIANCE_SAMP, VARIANCE_POP, VAR_SAMP, VAR_POP</a></li></ul></li><li class="topicref"><a href="topics/impala_analytic_functions.html">Analytic Functions</a></li><li class="topicref"><a href="topics/impala_udf.html">Impala User-Defined Functions (UDFs)</a></li></ul></li><li class="topicref"><a href="topics/impala_langref_unsupported.html">SQL Differences Between Impala and Hive</a></li><li class="topicref"><a href="topics/impala_porting.html">Porting SQL</a></li></ul></li><li class="topicref"><a href="topics/impala_impala_shell.html">The Impala Shell</a><ul><li class="topic ref"><a href="topics/impala_shell_options.html">Configuration Options</a></li><li class="topicref"><a href="topics/impala_connecting.html">Connecting to impalad</a></li><li class="topicref"><a href="topics/impala_shell_running_commands.html">Running Commands and SQL Statements</a></li><li class="topicref"><a href="topics/impala_shell_commands.html">Command Reference</a></li></ul></li><li class="topicref"><a href="topics/impala_performance.html">Performance Tuning</a><ul><li class="topicref"><a href="topics/impala_perf_cookbook.html">Performance Best Practices</a></li><li class="topicref"><a href="topics/impala_perf_joins.html">Join Performance</a></li><li class="topicref"><a href="topics/impala_perf_stats.html">Table and Column Statistics</a></li><li class="topicref"><a href="topics/impala_perf_benchmarking.html">Benchmarking</a></li><li class="topicref"><a href="topics/impala_perf_resources.html">Controlling Resource Usage</a></li><li class="topicref"><a href="topics/impala_runtime _filtering.html">Runtime Filtering</a></li><li class="topicref"><a href="topics/impala_perf_hdfs_caching.html">HDFS Caching</a></li><li class="topicref"><a href="topics/impala_perf_testing.html">Testing Impala Performance</a></li><li class="topicref"><a href="topics/impala_explain_plan.html">EXPLAIN Plans and Query Profiles</a></li><li class="topicref"><a href="topics/impala_perf_skew.html">HDFS Block Skew</a></li></ul></li><li class="topicref"><a href="topics/impala_scalability.html">Scalability Considerations</a></li><li class="topicref"><a href="topics/impala_partitioning.html">Partitioning</a></li><li class="topicref"><a href="topics/impala_file_formats.html">File Formats</a><ul><li class="topicref"><a href="topics/impala_txtfile.html">Text Data Files</a></li><li class="topicref"><a href="topics/impala_parquet.html">Parquet Data Files</a></li><li class="topicref"><a href="topics/impala_avro.html">Avro Data Files</a></li><li class="topicref"><a href="topics/impala_rcfile.html">RC File Data Files</a></li><li class="topicref"><a href="topics/impala_seqfile.html">SequenceFile Data Files</a></li></ul></li><li class="topicref"><a href="topics/impala_kudu.html">Using Impala to Query Kudu Tables</a></li><li class="topicref"><a href="topics/impala_hbase.html">HBase Tables</a></li><li class="topicref"><a href="topics/impala_s3.html">S3 Tables</a></li><li class="topicref"><a href="topics/impala_adls.html">ADLS Tables</a></li><li class="topicref"><a href="topics/impala_isilon.html">Isilon Storage</a></li><li class="topicref"><a href="topics/impala_logging.html">Logging</a></li><li class="topicref"><a href="topics/impala_troubleshooting.html">Troubleshooting Impala</a><ul><li class="topicref"><a href="topics/impala_webui.html">Web User Interface</a></li><li class="topicref"><a href="topics/impala_breakpad.html">Breakpad Minidumps</a></li></ul></li><li class="topicref"><a href="topics/impala_ports.html">Ports Used by Impala</a></li><li class="topicref"><a href="topics/im pala_reserved_words.html">Impala Reserved Words</a></li><li class="topicref"><a href="topics/impala_faq.html">Impala Frequently Asked Questions</a></li><li class="topicref"><a href="topics/impala_release_notes.html">Impala Release Notes</a><ul><li class="topicref"><a href="topics/impala_relnotes.html">Impala Release Notes</a></li><li class="topicref"><a href="topics/impala_new_features.html">New Features in Apache Impala (incubating)</a></li><li class="topicref"><a href="topics/impala_incompatible_changes.html">Incompatible Changes and Limitations in Apache Impala (incubating)</a></li><li class="topicref"><a href="topics/impala_known_issues.html">Known Issues and Workarounds in Impala</a></li><li class="topicref"><a href="topics/impala_fixed_issues.html">Fixed Issues in Apache Impala (incubating)</a></li></ul></li></ul></nav></body></html> \ No newline at end of file http://git-wip-us.apache.org/repos/asf/incubator-impala/blob/ca9005be/docs/build/html/topics/impala_adls.html ---------------------------------------------------------------------- diff --git a/docs/build/html/topics/impala_adls.html b/docs/build/html/topics/impala_adls.html index 2f10f7f..3a68e48 100644 --- a/docs/build/html/topics/impala_adls.html +++ b/docs/build/html/topics/impala_adls.html @@ -8,13 +8,6 @@ <div class="body conbody"> - <div class="note important note_important"><span class="note__title importanttitle">Important:</span> - <p class="p"> - Currently, the ADLS support in Impala is preliminary and not - fully tested. Do not use Impala with ADLS in a production environment. - </p> - </div> - <p class="p"> You can use Impala to query data residing on the Azure Data Lake Store (ADLS) filesystem. @@ -52,7 +45,7 @@ </li> <li class="li"> <p class="p"> - <a class="xref" href="https://hadoop.apache.org/docs/current2/hadoop-azure-datalake/index.html" target="_blank">Hadoop Azure Data Lake Support</a> + <a class="xref" href="https://hadoop.apache.org/docs/current/hadoop-azure-datalake/index.html" target="_blank">Hadoop Azure Data Lake Support</a> </p> </li> </ul> http://git-wip-us.apache.org/repos/asf/incubator-impala/blob/ca9005be/docs/build/html/topics/impala_alter_table.html ---------------------------------------------------------------------- diff --git a/docs/build/html/topics/impala_alter_table.html b/docs/build/html/topics/impala_alter_table.html index 6d01d0e..c44b6a3 100644 --- a/docs/build/html/topics/impala_alter_table.html +++ b/docs/build/html/topics/impala_alter_table.html @@ -29,8 +29,20 @@ ALTER TABLE <var class="keyword varname">name</var> ADD COLUMNS (<var class="keyword varname">col_spec</var>[, <var class="keyword varname">col_spec</var> ...]) ALTER TABLE <var class="keyword varname">name</var> DROP [COLUMN] <var class="keyword varname">column_name</var> ALTER TABLE <var class="keyword varname">name</var> CHANGE <var class="keyword varname">column_name</var> <var class="keyword varname">new_name</var> <var class="keyword varname">new_type</var> + ALTER TABLE <var class="keyword varname">name</var> REPLACE COLUMNS (<var class="keyword varname">col_spec</var>[, <var class="keyword varname">col_spec</var> ...]) +<span class="ph">-- Kudu tables only. +ALTER TABLE <var class="keyword varname">name</var> ALTER [COLUMN] <var class="keyword varname">column_name</var> + { SET <var class="keyword varname">kudu_storage_attr</var> <var class="keyword varname">attr_value</var> + | DROP DEFAULT } + +kudu_storage_attr ::= { DEFAULT | BLOCK_SIZE | ENCODING | COMPRESSION }</span> + +<span class="ph">-- Non-Kudu tables only. +ALTER TABLE <var class="keyword varname">name</var> ALTER [COLUMN] <var class="keyword varname">column_name</var> + SET COMMENT '<var class="keyword varname">comment_text</var>'</span> + ALTER TABLE <var class="keyword varname">name</var> ADD [IF NOT EXISTS] PARTITION (<var class="keyword varname">partition_spec</var>) <span class="ph">[<var class="keyword varname">location_spec</var>]</span> <span class="ph">[<var class="keyword varname">cache_spec</var>]</span> @@ -994,8 +1006,14 @@ ALTER TABLE <var class="keyword varname">table_name</var> SET TBLPROPERTIES('EXT </li> <li class="li"> <p class="p"> - You cannot change the default value, nullability, encoding, compression, or block size - of existing columns in a Kudu table. + You cannot change the nullability of existing columns in a Kudu table. + </p> + </li> + <li class="li"> + <p class="p"> + In <span class="keyword">Impala 2.10</span>, you can change the default value, encoding, + compression, or block size of existing columns in a Kudu table by using the + <code class="ph codeph">SET</code> clause. </p> </li> <li class="li"> @@ -1030,6 +1048,55 @@ ALTER TABLE t1 ADD COLUMNS (a STRING NOT NULL DEFAULT '', t TIMESTAMP COMPRESSIO </code></pre> <p class="p"> + The following are some examples of modifying column defaults and storage attributes for a Kudu table: + </p> + +<pre class="pre codeblock"><code> +create table kt (x bigint primary key, s string default 'yes', t timestamp) + stored as kudu; + +-- You can change the default value for a column, which affects any rows +-- inserted after this change is made. +alter table kt alter column s set default 'no'; + +-- You can remove the default value for a column, which affects any rows +-- inserted after this change is made. If the column is nullable, any +-- future inserts default to NULL for this column. If the column is marked +-- NOT NULL, any future inserts must specify a value for the column. +alter table kt alter column s drop default; + +insert into kt values (1, 'foo', now()); +-- Because of the DROP DEFAULT above, omitting S from the insert +-- gives it a value of NULL. +insert into kt (x, t) values (2, now()); + +select * from kt; ++---+------+-------------------------------+ +| x | s | t | ++---+------+-------------------------------+ +| 2 | NULL | 2017-10-02 00:03:40.652156000 | +| 1 | foo | 2017-10-02 00:03:04.346185000 | ++---+------+-------------------------------+ + +-- Other storage-related attributes can also be changed for columns. +-- These changes take effect for any newly inserted rows, or rows +-- rearranged due to compaction after deletes or updates. +alter table kt alter column s set encoding prefix_encoding; +-- The COLUMN keyword is optional in the syntax. +alter table kt alter x set block_size 2048; +alter table kt alter column t set compression zlib; + +desc kt; ++------+-----------+---------+-------------+----------+---------------+-----------------+---------------------+------------+ +| name | type | comment | primary_key | nullable | default_value | encoding | compression | block_size | ++------+-----------+---------+-------------+----------+---------------+-----------------+---------------------+------------+ +| x | bigint | | true | false | | AUTO_ENCODING | DEFAULT_COMPRESSION | 2048 | +| s | string | | false | true | | PREFIX_ENCODING | DEFAULT_COMPRESSION | 0 | +| t | timestamp | | false | true | | AUTO_ENCODING | ZLIB | 0 | ++------+-----------+---------+-------------+----------+---------------+-----------------+---------------------+------------+ +</code></pre> + + <p class="p"> Kudu tables all use an underlying partitioning mechanism. The partition syntax is different than for non-Kudu tables. You can use the <code class="ph codeph">ALTER TABLE</code> statement to add and drop <dfn class="term">range partitions</dfn> from a Kudu table. Any new range must not overlap with any existing ranges. Dropping a range removes all the associated http://git-wip-us.apache.org/repos/asf/incubator-impala/blob/ca9005be/docs/build/html/topics/impala_array.html ---------------------------------------------------------------------- diff --git a/docs/build/html/topics/impala_array.html b/docs/build/html/topics/impala_array.html index 960e337..f0ebc4e 100644 --- a/docs/build/html/topics/impala_array.html +++ b/docs/build/html/topics/impala_array.html @@ -118,7 +118,7 @@ type ::= <var class="keyword varname">primitive_type</var> | <var class="keyword </p> </li> <li class="li"> - <p class="p" id="array__d6e3003"> + <p class="p" id="array__d6e3156"> The maximum length of the column definition for any complex type, including declarations for any nested types, is 4000 characters. </p> http://git-wip-us.apache.org/repos/asf/incubator-impala/blob/ca9005be/docs/build/html/topics/impala_buffer_pool_limit.html ---------------------------------------------------------------------- diff --git a/docs/build/html/topics/impala_buffer_pool_limit.html b/docs/build/html/topics/impala_buffer_pool_limit.html new file mode 100644 index 0000000..b1e59a8 --- /dev/null +++ b/docs/build/html/topics/impala_buffer_pool_limit.html @@ -0,0 +1,71 @@ +<!DOCTYPE html + SYSTEM "about:legacy-compat"> +<html lang="en"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><meta charset="UTF-8"><meta name="copyright" content="(C) Copyright 2017"><meta name="DC.rights.owner" content="(C) Copyright 2017"><meta name="DC.Type" content="concept"><meta name="DC.Relation" scheme="URI" content="../topics/impala_query_options.html"><meta name="prodname" content="Impala"><meta name="prodname" content="Impala"><meta name="version" content="Impala 2.8.x"><meta name="version" content="Impala 2.8.x"><meta name="DC.Format" content="XHTML"><meta name="DC.Identifier" content="buffer_pool_limit"><link rel="stylesheet" type="text/css" href="../commonltr.css"><title>BUFFER_POOL_LIMIT Query Option</title></head><body id="buffer_pool_limit"><main role="main"><article role="article" aria-labelledby="ariaid-title1"> + + <h1 class="title topictitle1" id="ariaid-title1">BUFFER_POOL_LIMIT Query Option</h1> + + + + <div class="body conbody"> + + <p class="p"> + + Defines a limit on the amount of memory that a query can allocate from the + internal buffer pool. The value for this limit applies to the memory on each host, + not the aggregate memory across the cluster. Typically not changed by users, except + during diagnosis of out-of-memory errors during queries. + </p> + + <p class="p"> + <strong class="ph b">Type:</strong> integer + </p> + + + + <p class="p"> + <strong class="ph b">Default:</strong> + </p> + <p class="p"> + The default setting for this option is the lower of 80% of the + <code class="ph codeph">MEM_LIMIT</code> setting, or the <code class="ph codeph">MEM_LIMIT</code> + setting minus 100 MB. + </p> + + <p class="p"> + <strong class="ph b">Added in:</strong> <span class="keyword">Impala 2.10.0</span> + </p> + + <p class="p"> + <strong class="ph b">Usage notes:</strong> + </p> + <p class="p"> + If queries encounter out-of-memory errors, consider decreasing the + <code class="ph codeph">BUFFER_POOL_LIMIT</code> setting to less than 80% of the + <code class="ph codeph">MEM_LIMIT setting</code>. + </p> + + <p class="p"> + <strong class="ph b">Examples:</strong> + </p> + +<pre class="pre codeblock"><code> +-- Set an absolute value. +set buffer_pool_limit=8GB; + +-- Set a relative value based on the MEM_LIMIT setting. +set buffer_pool_limit=80%; + +</code></pre> + + <p class="p"> + <strong class="ph b">Related information:</strong> + </p> + <p class="p"> + <a class="xref" href="impala_default_spillable_buffer_size.html">DEFAULT_SPILLABLE_BUFFER_SIZE Query Option</a>, + <a class="xref" href="impala_max_row_size.html">MAX_ROW_SIZE Query Option</a>, + <a class="xref" href="impala_min_spillable_buffer_size.html">MIN_SPILLABLE_BUFFER_SIZE Query Option</a>, + <a class="xref" href="impala_scalability.html">Scalability Considerations for Impala</a> + </p> + + </div> +<nav role="navigation" class="related-links"><div class="familylinks"><div class="parentlink"><strong>Parent topic:</strong> <a class="link" href="../topics/impala_query_options.html">Query Options for the SET Statement</a></div></div></nav></article></main></body></html> \ No newline at end of file http://git-wip-us.apache.org/repos/asf/incubator-impala/blob/ca9005be/docs/build/html/topics/impala_compute_stats.html ---------------------------------------------------------------------- diff --git a/docs/build/html/topics/impala_compute_stats.html b/docs/build/html/topics/impala_compute_stats.html index a20c0b2..c816b31 100644 --- a/docs/build/html/topics/impala_compute_stats.html +++ b/docs/build/html/topics/impala_compute_stats.html @@ -61,6 +61,31 @@ COMPUTE INCREMENTAL STATS [<var class="keyword varname">db_name</var>.]<var clas for full usage details. </p> + <div class="note important note_important"><span class="note__title importanttitle">Important:</span> + <p class="p"> + For a particular table, use either <code class="ph codeph">COMPUTE STATS</code> or + <code class="ph codeph">COMPUTE INCREMENTAL STATS</code>, but never combine the two or alternate + between them. If you switch from <code class="ph codeph">COMPUTE STATS</code> to + <code class="ph codeph">COMPUTE INCREMENTAL STATS</code> during the lifetime of a table, or vice + versa, drop all statistics (by running both <code class="ph codeph">DROP STATS</code> and + <code class="ph codeph">DROP INCREMENTAL STATS</code>) before making the switch. + </p> + <p class="p"> + When you run <code class="ph codeph">COMPUTE INCREMENTAL STATS</code> on a table for the first time, + the statistics are computed again from scratch regardless of whether the table already + has statistics. Therefore, expect a one-time resource-intensive operation + for scanning the entire table when running <code class="ph codeph">COMPUTE INCREMENTAL STATS</code> + for the first time on a given table. + </p> + <p class="p"> + For a table with a huge number of partitions and many columns, the approximately 400 bytes + of metadata per column per partition can add up to significant memory overhead, as it must + be cached on the <span class="keyword cmdname">catalogd</span> host and on every <span class="keyword cmdname">impalad</span> host + that is eligible to be a coordinator. If this metadata for all tables combined exceeds 2 GB, + you might experience service downtime. + </p> + </div> + <p class="p"> <code class="ph codeph">COMPUTE INCREMENTAL STATS</code> only applies to partitioned tables. If you use the <code class="ph codeph">INCREMENTAL</code> clause for an unpartitioned table, Impala automatically uses the original @@ -330,7 +355,7 @@ Returned 2 row(s) in 0.01s</code></pre> </p> <pre class="pre codeblock"><code>-- Initially the table has no incremental stats, as indicated --- by -1 under #Rows and false under Incremental stats. +-- 'false' under Incremental stats. show table stats item_partitioned; +-------------+-------+--------+----------+--------------+---------+------------------ | i_category | #Rows | #Files | Size | Bytes Cached | Format | Incremental stats @@ -349,7 +374,10 @@ show table stats item_partitioned; +-------------+-------+--------+----------+--------------+---------+------------------ -- After the first COMPUTE INCREMENTAL STATS, --- all partitions have stats. +-- all partitions have stats. The first +-- COMPUTE INCREMENTAL STATS scans the whole +-- table, discarding any previous stats from +-- a traditional COMPUTE STATS statement. compute incremental stats item_partitioned; +-------------------------------------------+ | summary | http://git-wip-us.apache.org/repos/asf/incubator-impala/blob/ca9005be/docs/build/html/topics/impala_config_options.html ---------------------------------------------------------------------- diff --git a/docs/build/html/topics/impala_config_options.html b/docs/build/html/topics/impala_config_options.html index 5bf3ff2..27b332f 100644 --- a/docs/build/html/topics/impala_config_options.html +++ b/docs/build/html/topics/impala_config_options.html @@ -73,7 +73,6 @@ IMPALA_SERVER_ARGS=" \ -log_dir=${IMPALA_LOG_DIR} \ -catalog_service_host=${IMPALA_CATALOG_SERVICE_HOST} \ -state_store_port=${IMPALA_STATE_STORE_PORT} \ --use_statestore \ -state_store_host=${IMPALA_STATE_STORE_HOST} \ -be_port=${IMPALA_BACKEND_PORT}" export ENABLE_CORE_DUMPS=${ENABLE_COREDUMPS:-false}</code></pre> @@ -154,14 +153,14 @@ Starting Impala Catalog Server: [ OK ]</code></pre> <pre class="pre codeblock"><code>export IMPALA_SERVER_ARGS=${IMPALA_SERVER_ARGS:- \ -log_dir=${IMPALA_LOG_DIR} \ -state_store_port=${IMPALA_STATE_STORE_PORT} \ - -use_statestore -state_store_host=${IMPALA_STATE_STORE_HOST} \ + -state_store_host=${IMPALA_STATE_STORE_HOST} \ -be_port=${IMPALA_BACKEND_PORT}}</code></pre> <p class="p"> to: </p> <pre class="pre codeblock"><code>export IMPALA_SERVER_ARGS=${IMPALA_SERVER_ARGS:- \ -log_dir=${IMPALA_LOG_DIR} -state_store_port=${IMPALA_STATE_STORE_PORT} \ - -use_statestore -state_store_host=${IMPALA_STATE_STORE_HOST} \ + -state_store_host=${IMPALA_STATE_STORE_HOST} \ -be_port=${IMPALA_BACKEND_PORT} -mem_limit=70%}</code></pre> <p class="p"> You can specify the memory limit using absolute notation such as http://git-wip-us.apache.org/repos/asf/incubator-impala/blob/ca9005be/docs/build/html/topics/impala_connecting.html ---------------------------------------------------------------------- diff --git a/docs/build/html/topics/impala_connecting.html b/docs/build/html/topics/impala_connecting.html index e48d850..e3d6e9e 100644 --- a/docs/build/html/topics/impala_connecting.html +++ b/docs/build/html/topics/impala_connecting.html @@ -59,8 +59,7 @@ Use the <code class="ph codeph">-i</code> option to the <span class="keyword cmdname">impala-shell</span> interpreter to specify the connection information for that instance of <span class="keyword cmdname">impalad</span>: -<pre class="pre codeblock"><code> -# When you are logged into the same machine running impalad. +<pre class="pre codeblock"><code># When you are logged into the same machine running impalad. # The prompt will reflect the current hostname. $ impala-shell @@ -138,8 +137,7 @@ $ impala-shell -i <var class="keyword varname">some.other.hostname</var>:<var cl <span class="keyword cmdname">impala-shell</span> interpreter to connect and immediately switch to the specified database, without the need for a <code class="ph codeph">USE</code> statement or fully qualified names: -<pre class="pre codeblock"><code> -# Subsequent queries with unqualified names operate on +<pre class="pre codeblock"><code># Subsequent queries with unqualified names operate on # tables, views, and so on inside the database named 'staging'. $ impala-shell -i localhost -d staging @@ -174,8 +172,7 @@ $ impala-shell -i localhost -d parquet_gzip_compression the <code class="ph codeph">-f</code> option to run a sequence of statements from a file. The <span class="keyword cmdname">impala-shell</span> command returns immediately, without going into the interactive interpreter. -<pre class="pre codeblock"><code> -# A utility command that you might run while developing shell scripts +<pre class="pre codeblock"><code># A utility command that you might run while developing shell scripts # to manipulate HDFS files. $ impala-shell -i localhost -d database_of_interest -q 'show tables' http://git-wip-us.apache.org/repos/asf/incubator-impala/blob/ca9005be/docs/build/html/topics/impala_create_table.html ---------------------------------------------------------------------- diff --git a/docs/build/html/topics/impala_create_table.html b/docs/build/html/topics/impala_create_table.html index 1d890d8..1bf8327 100644 --- a/docs/build/html/topics/impala_create_table.html +++ b/docs/build/html/topics/impala_create_table.html @@ -160,7 +160,7 @@ data_type: [, ...] [PRIMARY KEY (<var class="keyword varname">col_name</var>[, ...])] ) - <span class="ph">[PARTITION BY <var class="keyword varname">kudu_partition_clause</var></span> + <span class="ph">[PARTITION BY <var class="keyword varname">kudu_partition_clause</var>]</span> [COMMENT '<var class="keyword varname">table_comment</var>'] STORED AS KUDU [TBLPROPERTIES ('<var class="keyword varname">key1</var>'='<var class="keyword varname">value1</var>', '<var class="keyword varname">key2</var>'='<var class="keyword varname">value2</var>', ...)] @@ -181,7 +181,7 @@ data_type: <div class="p"> <strong class="ph b">kudu_partition_clause:</strong> <pre class="pre codeblock"><code> -kudu_partition_clause ::= PARTITION BY [<var class="keyword varname">hash_clause</var>] [, <var class="keyword varname">range_clause</var> [ , <var class="keyword varname">range_clause</var> ] ] +kudu_partition_clause ::= [<var class="keyword varname">hash_clause</var>] [, <var class="keyword varname">range_clause</var> [ , <var class="keyword varname">range_clause</var> ] ] hash_clause ::= HASH [ (<var class="keyword varname">pk_col</var> [, ...]) ] @@ -217,7 +217,7 @@ range_comparison_operator ::= { < | <= } <pre class="pre codeblock"><code>CREATE TABLE [IF NOT EXISTS] <var class="keyword varname">db_name</var>.]<var class="keyword varname">table_name</var> [PRIMARY KEY (<var class="keyword varname">col_name</var>[, ...])] - [PARTITION BY <var class="keyword varname">kudu_partition_clause</var> + [PARTITION BY <var class="keyword varname">kudu_partition_clause</var>] [COMMENT '<var class="keyword varname">table_comment</var>'] STORED AS KUDU [TBLPROPERTIES ('<var class="keyword varname">key1</var>'='<var class="keyword varname">value1</var>', '<var class="keyword varname">key2</var>'='<var class="keyword varname">value2</var>', ...)] @@ -337,6 +337,14 @@ AS tables. See the <code class="ph codeph">PARTITION BY</code> clause, rather than <code class="ph codeph">PARTITIONED BY</code>, for Kudu tables. </p> + <p class="p"> + In <span class="keyword">Impala 2.10</span> and higher, the <code class="ph codeph">PARTITION BY</code> + clause is optional for Kudu tables. If the clause is omitted, Impala automatically + constructs a single partition that is not connected to any column. Because such a + table cannot take advantage of Kudu features for parallelized queries and + query optimizations, omitting the <code class="ph codeph">PARTITION BY</code> clause is only + appropriate for small lookup tables. + </p> </div> <p class="p"> @@ -434,9 +442,9 @@ AS partitioning mechanisms, the syntax associated with the <code class="ph codeph">STORED AS KUDU</code> clause is shown separately in the above syntax descriptions. Kudu tables have their own syntax for <code class="ph codeph">CREATE TABLE</code>, <code class="ph codeph">CREATE EXTERNAL TABLE</code>, and - <code class="ph codeph">CREATE TABLE AS SELECT</code>. All internal Kudu tables require a - <code class="ph codeph">PARTITION BY</code> clause, different than the <code class="ph codeph">PARTITIONED BY</code> - clause for HDFS-backed tables. + <code class="ph codeph">CREATE TABLE AS SELECT</code>. <span class="ph">Prior to <span class="keyword">Impala 2.10</span>, + all internal Kudu tables require a <code class="ph codeph">PARTITION BY</code> clause, different than + the <code class="ph codeph">PARTITIONED BY</code> clause for HDFS-backed tables.</span> </p> <p class="p"> @@ -444,6 +452,14 @@ AS </p> <pre class="pre codeblock"><code> +<span class="ph">-- Single partition. Only for <span class="keyword">Impala 2.10</span> and higher. +-- Only suitable for small lookup tables. +CREATE TABLE kudu_no_partition_by_clause + ( + id bigint PRIMARY KEY, s STRING, b BOOLEAN + ) + STORED AS KUDU;</span> + -- Single-column primary key. CREATE TABLE kudu_t1 (id BIGINT PRIMARY key, s STRING, b BOOLEAN) PARTITION BY HASH (id) PARTITIONS 20 STORED AS KUDU; http://git-wip-us.apache.org/repos/asf/incubator-impala/blob/ca9005be/docs/build/html/topics/impala_datetime_functions.html ---------------------------------------------------------------------- diff --git a/docs/build/html/topics/impala_datetime_functions.html b/docs/build/html/topics/impala_datetime_functions.html index 1649c0a..b566354 100644 --- a/docs/build/html/topics/impala_datetime_functions.html +++ b/docs/build/html/topics/impala_datetime_functions.html @@ -769,6 +769,74 @@ select now() as right_now, + <dt class="dt dlterm" id="datetime_functions__from_timestamp"> + <code class="ph codeph">from_timestamp(datetime timestamp, pattern string)</code> + </dt> + + <dd class="dd"> + + <strong class="ph b">Purpose:</strong> Converts a <code class="ph codeph">TIMESTAMP</code> value into a + string representing the same value. + <p class="p"> + <strong class="ph b">Return type:</strong> <code class="ph codeph">string</code> + </p> + <p class="p"> + <strong class="ph b">Added in:</strong> <span class="keyword">Impala 2.3.0</span> + </p> + <p class="p"> + <strong class="ph b">Usage notes:</strong> + </p> + <p class="p"> + The <code class="ph codeph">from_timestamp()</code> function provides a flexible way to convert <code class="ph codeph">TIMESTAMP</code> + values into arbitrary string formats for reporting purposes. + </p> + <p class="p"> + Because Impala implicitly converts string values into <code class="ph codeph">TIMESTAMP</code>, you can + pass date/time values represented as strings (in the standard <code class="ph codeph">yyyy-MM-dd HH:mm:ss.SSS</code> format) + to this function. The result is a string using different separator characters, order of fields, spelled-out month + names, or other variation of the date/time string representation. + </p> + <p class="p"> + The allowed tokens for the pattern string are the same as for the <code class="ph codeph">from_unixtime()</code> function. + </p> + <p class="p"> + <strong class="ph b">Examples:</strong> + </p> + <p class="p"> + The following examples show different ways to format a <code class="ph codeph">TIMESTAMP</code> + value as a string: + </p> +<pre class="pre codeblock"><code> +-- Reformat arbitrary TIMESTAMP value. +select from_timestamp(now(), 'yyyy/MM/dd'); ++-------------------------------------+ +| from_timestamp(now(), 'yyyy/mm/dd') | ++-------------------------------------+ +| 2017/10/01 | ++-------------------------------------+ + +-- Reformat string literal representing date/time. +select from_timestamp('1984-09-25', 'yyyy/MM/dd'); ++--------------------------------------------+ +| from_timestamp('1984-09-25', 'yyyy/mm/dd') | ++--------------------------------------------+ +| 1984/09/25 | ++--------------------------------------------+ + +-- Alternative format for reporting purposes. +select from_timestamp('1984-09-25 16:45:30.125', 'MMM dd, yyyy HH:mm:ss.SSS'); ++------------------------------------------------------------------------+ +| from_timestamp('1984-09-25 16:45:30.125', 'mmm dd, yyyy hh:mm:ss.sss') | ++------------------------------------------------------------------------+ +| Sep 25, 1984 16:45:30.125 | ++------------------------------------------------------------------------+ +</code></pre> + </dd> + + + + + <dt class="dt dlterm" id="datetime_functions__from_unixtime"> <code class="ph codeph">from_unixtime(bigint unixtime[, string format])</code> </dt> @@ -1129,6 +1197,74 @@ select int_months_between('2015-03-31', '2015-01-30'); + <dt class="dt dlterm" id="datetime_functions__last_day"> + <code class="ph codeph">last_day(timestamp t)</code> + </dt> + + <dd class="dd"> + + <strong class="ph b">Purpose:</strong> Returns a <code class="ph codeph">TIMESTAMP</code> corresponding to + the beginning of the last calendar day in the same month as the + <code class="ph codeph">TIMESTAMP</code> argument. + <p class="p"> + <strong class="ph b">Return type:</strong> <code class="ph codeph">timestamp</code> + </p> + <p class="p"> + <strong class="ph b">Added in:</strong> <span class="keyword">Impala 2.9.0</span> + </p> + <p class="p"> + <strong class="ph b">Usage notes:</strong> + </p> + <p class="p"> + If the input argument does not represent a valid Impala <code class="ph codeph">TIMESTAMP</code> + including both date and time portions, the function returns <code class="ph codeph">NULL</code>. + For example, if the input argument is a string that cannot be implicitly cast to + <code class="ph codeph">TIMESTAMP</code>, does not include a date portion, or is out of the + allowed range for Impala <code class="ph codeph">TIMESTAMP</code> values, the function returns + <code class="ph codeph">NULL</code>. + </p> + <p class="p"> + <strong class="ph b">Examples:</strong> + </p> + <p class="p"> + The following example shows how to examine the current date, and dates around the + end of the month, as <code class="ph codeph">TIMESTAMP</code> values with any time portion removed: + </p> +<pre class="pre codeblock"><code> +select + now() as right_now + , trunc(now(),'dd') as today + , last_day(now()) as last_day_of_month + , last_day(now()) + interval 1 day as first_of_next_month; ++-------------------------------+---------------------+---------------------+---------------------+ +| right_now | today | last_day_of_month | first_of_next_month | ++-------------------------------+---------------------+---------------------+---------------------+ +| 2017-08-15 15:07:58.823812000 | 2017-08-15 00:00:00 | 2017-08-31 00:00:00 | 2017-09-01 00:00:00 | ++-------------------------------+---------------------+---------------------+---------------------+ +</code></pre> + <p class="p"> + The following example shows how to examine the current date and dates around the + end of the month as integers representing the day of the month: + </p> +<pre class="pre codeblock"><code> +select + now() as right_now + , dayofmonth(now()) as day + , extract(day from now()) as also_day + , dayofmonth(last_day(now())) as last_day + , extract(day from last_day(now())) as also_last_day; ++-------------------------------+-----+----------+----------+---------------+ +| right_now | day | also_day | last_day | also_last_day | ++-------------------------------+-----+----------+----------+---------------+ +| 2017-08-15 15:07:59.417755000 | 15 | 15 | 31 | 31 | ++-------------------------------+-----+----------+----------+---------------+ +</code></pre> + </dd> + + + + + <dt class="dt dlterm" id="datetime_functions__microseconds_add"> <code class="ph codeph">microseconds_add(timestamp date, int microseconds)</code>, <code class="ph codeph">microseconds_add(timestamp date, bigint microseconds)</code> @@ -2162,6 +2298,94 @@ select now() as right_now, + <dt class="dt dlterm" id="datetime_functions__to_timestamp"> + <code class="ph codeph">to_timestamp(bigint unixtime)</code>, + <code class="ph codeph">to_timestamp(string date, string pattern)</code> + </dt> + + <dd class="dd"> + + <strong class="ph b">Purpose:</strong> Converts an integer or string representing + a date/time value into the corresponding <code class="ph codeph">TIMESTAMP</code> + value. + <p class="p"> + <strong class="ph b">Return type:</strong> <code class="ph codeph">timestamp</code> + </p> + <p class="p"> + <strong class="ph b">Added in:</strong> <span class="keyword">Impala 2.3.0</span> + </p> + <p class="p"> + <strong class="ph b">Usage notes:</strong> + </p> + <p class="p"> + An integer argument represents the number of seconds past the epoch (midnight + on January 1, 1970). It is the converse of the <code class="ph codeph">unix_timestamp()</code> + function, which produces a <code class="ph codeph">BIGINT</code> representing the number of + seconds past the epoch. + </p> + <p class="p"> + A string argument, plus another string argument representing the + pattern, turns an arbitrary string representation of a date and time + into a true <code class="ph codeph">TIMESTAMP</code> value. The ability to parse + many kinds of date and time formats allows you to deal with temporal + data from diverse sources, and if desired to convert to efficient + <code class="ph codeph">TIMESTAMP</code> values during your ETL process. Using + <code class="ph codeph">TIMESTAMP</code> directly in queries and expressions lets you + perform date and time calculations without the overhead of extra + function calls and conversions each time you reference the applicable + columns. + </p> + <p class="p"> + <strong class="ph b">Examples:</strong> + </p> + <p class="p"> + The following examples demonstrate how to convert an arbitrary string + representation to <code class="ph codeph">TIMESTAMP</code> based on a pattern string: + </p> +<pre class="pre codeblock"><code> +select to_timestamp('Sep 25, 1984', 'MMM dd, yyyy'); ++----------------------------------------------+ +| to_timestamp('sep 25, 1984', 'mmm dd, yyyy') | ++----------------------------------------------+ +| 1984-09-25 00:00:00 | ++----------------------------------------------+ + +select to_timestamp('1984/09/25', 'yyyy/MM/dd'); ++------------------------------------------+ +| to_timestamp('1984/09/25', 'yyyy/mm/dd') | ++------------------------------------------+ +| 1984-09-25 00:00:00 | ++------------------------------------------+ +</code></pre> + <p class="p"> + The following examples show how to convert a <code class="ph codeph">BIGINT</code> + representing seconds past epoch into a <code class="ph codeph">TIMESTAMP</code> value: + </p> +<pre class="pre codeblock"><code> +-- One day past the epoch. +select to_timestamp(24 * 60 * 60); ++----------------------------+ +| to_timestamp(24 * 60 * 60) | ++----------------------------+ +| 1970-01-02 00:00:00 | ++----------------------------+ + +-- 60 seconds in the past. +select now() as 'current date/time', + unix_timestamp(now()) 'now in seconds', + to_timestamp(unix_timestamp(now()) - 60) as '60 seconds ago'; ++-------------------------------+----------------+---------------------+ +| current date/time | now in seconds | 60 seconds ago | ++-------------------------------+----------------+---------------------+ +| 2017-10-01 22:03:46.885624000 | 1506895426 | 2017-10-01 22:02:46 | ++-------------------------------+----------------+---------------------+ +</code></pre> + </dd> + + + + + <dt class="dt dlterm" id="datetime_functions__to_utc_timestamp"> <code class="ph codeph">to_utc_timestamp(timestamp, string timezone)</code> </dt> @@ -2232,7 +2456,7 @@ select now() as 'Current time in California USA', - <dt class="dt dlterm" id="datetime_functions__trunc"> + <dt class="dt dlterm" id="datetime_functions__trunc_timestamp"><a id="datetime_functions__trunc"></a> <code class="ph codeph">trunc(timestamp, string unit)</code> </dt> @@ -2240,7 +2464,8 @@ select now() as 'Current time in California USA', <strong class="ph b">Purpose:</strong> Strips off fields from a <code class="ph codeph">TIMESTAMP</code> value. <div class="p"> - <strong class="ph b">Unit argument:</strong> The <code class="ph codeph">unit</code> argument value is case-sensitive. This argument string + <strong class="ph b">Unit argument:</strong> The <code class="ph codeph">unit</code> argument value for truncating + <code class="ph codeph">TIMESTAMP</code> values is case-sensitive. This argument string can be one of: <ul class="ul"> @@ -2282,13 +2507,17 @@ select now() as 'Current time in California USA', </ul> </div> <p class="p"> + <strong class="ph b">Added in:</strong> The ability to truncate numeric values is new starting in + <span class="keyword">Impala 2.10</span>. + </p> + <p class="p"> <strong class="ph b">Usage notes:</strong> </p> <p class="p"> - Typically used in <code class="ph codeph">GROUP BY</code> queries to aggregate results from the - same hour, day, week, month, quarter, and so on. You can also use this function in an <code class="ph codeph">INSERT - ... SELECT</code> into a partitioned table to divide <code class="ph codeph">TIMESTAMP</code> values into the - correct partition. + The <code class="ph codeph">TIMESTAMP</code> form is typically used in <code class="ph codeph">GROUP BY</code> + queries to aggregate results from the same hour, day, week, month, quarter, and so on. + You can also use this function in an <code class="ph codeph">INSERT ... SELECT</code> into a + partitioned table to divide <code class="ph codeph">TIMESTAMP</code> values into the correct partition. </p> <p class="p"> Because the return value is a <code class="ph codeph">TIMESTAMP</code>, if you cast the result of @@ -2299,6 +2528,13 @@ select now() as 'Current time in California USA', original value, then run <code class="ph codeph">EXTRACT()</code> on the result. </p> <p class="p"> + The <code class="ph codeph">trunc()</code> function also has a signature that applies to + <code class="ph codeph">DOUBLE</code> or <code class="ph codeph">DECIMAL</code>values. <code class="ph codeph">truncate()</code>, + <code class="ph codeph">trunc()</code>, and <code class="ph codeph">dtrunc()</code> are all aliased to the + same function. See <code class="ph codeph">truncate()</code> under <a class="xref" href="impala_math_functions.html">Impala Mathematical Functions</a> + for details. + </p> + <p class="p"> <strong class="ph b">Return type:</strong> <code class="ph codeph">timestamp</code> </p> <p class="p"> @@ -2469,6 +2705,68 @@ select unix_timestamp + <dt class="dt dlterm" id="datetime_functions__utc_timestamp"> + <code class="ph codeph">utc_timestamp()</code> + </dt> + + <dd class="dd"> + + <strong class="ph b">Purpose:</strong> Returns a <code class="ph codeph">TIMESTAMP</code> corresponding to the current + date and time in the UTC time zone. + <p class="p"> + <strong class="ph b">Return type:</strong> <code class="ph codeph">timestamp</code> + </p> + <p class="p"> + <strong class="ph b">Added in:</strong> <span class="keyword">Impala 2.10</span> + </p> + <p class="p"> + <strong class="ph b">Usage notes:</strong> + </p> + <p class="p"> + Similar to the <code class="ph codeph">now()</code> or <code class="ph codeph">current_timestamp()</code> functions, + but does not use the local time zone as those functions do. Use <code class="ph codeph">utc_timestamp()</code> + to record <code class="ph codeph">TIMESTAMP</code> values that are interoperable with + servers around the world, in arbitrary time zones, without the need for + additional conversion functions to standardize the time zone of each + value representing a date/time. + </p> + <p class="p"> + For working with date/time values represented as integer values, you can convert + back and forth between <code class="ph codeph">TIMESTAMP</code> and <code class="ph codeph">BIGINT</code> + with the <code class="ph codeph">unix_micros_to_utc_timestamp()</code> and + <code class="ph codeph">utc_to_unix_micros()</code> functions. The integer values represent + the number of microseconds since the Unix epoch (midnight on January 1, 1970). + </p> + <p class="p"> + <strong class="ph b">Examples:</strong> + </p> + <p class="p"> + The following example shows how <code class="ph codeph">now()</code> and <code class="ph codeph">current_timestamp()</code> + represent the current date/time in the local time zone (in this case, UTC-7), while + <code class="ph codeph">utc_timestamp()</code> represents the same date/time in the standardized UTC + time zone: + </p> +<pre class="pre codeblock"><code> +select now(), utc_timestamp(); ++-------------------------------+-------------------------------+ +| now() | utc_timestamp() | ++-------------------------------+-------------------------------+ +| 2017-10-01 23:33:58.919688000 | 2017-10-02 06:33:58.919688000 | ++-------------------------------+-------------------------------+ + +select current_timestamp(), utc_timestamp(); ++-------------------------------+-------------------------------+ +| current_timestamp() | utc_timestamp() | ++-------------------------------+-------------------------------+ +| 2017-10-01 23:34:07.400642000 | 2017-10-02 06:34:07.400642000 | ++-------------------------------+-------------------------------+ +</code></pre> + </dd> + + + + + <dt class="dt dlterm" id="datetime_functions__weekofyear"> <code class="ph codeph">weekofyear(timestamp date)</code>
