You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@spark.apache.org by pw...@apache.org on 2014/07/24 03:17:19 UTC
git commit: [SPARK-2484][SQL] Build should not run hivecompatibility
tests by default.
Repository: spark
Updated Branches:
refs/heads/master 9b763329d -> 60f0ae3d8
[SPARK-2484][SQL] Build should not run hivecompatibility tests by default.
Author: witgo <wi...@qq.com>
Closes #1403 from witgo/hive_compatibility and squashes the following commits:
4e5ecdb [witgo] The default does not run hive compatibility tests
Project: http://git-wip-us.apache.org/repos/asf/spark/repo
Commit: http://git-wip-us.apache.org/repos/asf/spark/commit/60f0ae3d
Tree: http://git-wip-us.apache.org/repos/asf/spark/tree/60f0ae3d
Diff: http://git-wip-us.apache.org/repos/asf/spark/diff/60f0ae3d
Branch: refs/heads/master
Commit: 60f0ae3d87c84fd96e1f4d0abf5be1f51870e7ab
Parents: 9b76332
Author: witgo <wi...@qq.com>
Authored: Wed Jul 23 18:17:05 2014 -0700
Committer: Patrick Wendell <pw...@gmail.com>
Committed: Wed Jul 23 18:17:05 2014 -0700
----------------------------------------------------------------------
.../hive/execution/HiveCompatibilitySuite.scala | 875 +++++++++++++++++++
sql/hive/pom.xml | 30 +
.../hive/execution/HiveCompatibilitySuite.scala | 875 -------------------
3 files changed, 905 insertions(+), 875 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/spark/blob/60f0ae3d/sql/hive/compatibility/src/test/scala/org/apache/spark/sql/hive/execution/HiveCompatibilitySuite.scala
----------------------------------------------------------------------
diff --git a/sql/hive/compatibility/src/test/scala/org/apache/spark/sql/hive/execution/HiveCompatibilitySuite.scala b/sql/hive/compatibility/src/test/scala/org/apache/spark/sql/hive/execution/HiveCompatibilitySuite.scala
new file mode 100644
index 0000000..8b45197
--- /dev/null
+++ b/sql/hive/compatibility/src/test/scala/org/apache/spark/sql/hive/execution/HiveCompatibilitySuite.scala
@@ -0,0 +1,875 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.spark.sql.hive.execution
+
+import java.io.File
+import java.util.TimeZone
+
+import org.scalatest.BeforeAndAfter
+
+import org.apache.spark.sql.hive.test.TestHive
+
+/**
+ * Runs the test cases that are included in the hive distribution.
+ */
+class HiveCompatibilitySuite extends HiveQueryFileTest with BeforeAndAfter {
+ // TODO: bundle in jar files... get from classpath
+ lazy val hiveQueryDir = TestHive.getHiveFile("ql" + File.separator + "src" +
+ File.separator + "test" + File.separator + "queries" + File.separator + "clientpositive")
+
+ var originalTimeZone: TimeZone = _
+
+ def testCases = hiveQueryDir.listFiles.map(f => f.getName.stripSuffix(".q") -> f)
+
+ override def beforeAll() {
+ TestHive.cacheTables = true
+ // Timezone is fixed to America/Los_Angeles for those timezone sensitive tests (timestamp_*)
+ originalTimeZone = TimeZone.getDefault
+ TimeZone.setDefault(TimeZone.getTimeZone("America/Los_Angeles"))
+ }
+
+ override def afterAll() {
+ TestHive.cacheTables = false
+ TimeZone.setDefault(originalTimeZone)
+ }
+
+ /** A list of tests deemed out of scope currently and thus completely disregarded. */
+ override def blackList = Seq(
+ // These tests use hooks that are not on the classpath and thus break all subsequent execution.
+ "hook_order",
+ "hook_context",
+ "mapjoin_hook",
+ "multi_sahooks",
+ "overridden_confs",
+ "query_properties",
+ "sample10",
+ "updateAccessTime",
+ "index_compact_binary_search",
+ "bucket_num_reducers",
+ "column_access_stats",
+ "concatenate_inherit_table_location",
+ "describe_pretty",
+ "describe_syntax",
+ "orc_ends_with_nulls",
+
+ // Setting a default property does not seem to get reset and thus changes the answer for many
+ // subsequent tests.
+ "create_default_prop",
+
+ // User/machine specific test answers, breaks the caching mechanism.
+ "authorization_3",
+ "authorization_5",
+ "keyword_1",
+ "misc_json",
+ "create_like_tbl_props",
+ "load_overwrite",
+ "alter_table_serde2",
+ "alter_table_not_sorted",
+ "alter_skewed_table",
+ "alter_partition_clusterby_sortby",
+ "alter_merge",
+ "alter_concatenate_indexed_table",
+ "protectmode2",
+ //"describe_table",
+ "describe_comment_nonascii",
+ "udf5",
+ "udf_java_method",
+ "create_merge_compressed",
+
+ // DFS commands
+ "symlink_text_input_format",
+
+ // Weird DDL differences result in failures on jenkins.
+ "create_like2",
+ "create_view_translate",
+ "partitions_json",
+
+ // This test is totally fine except that it includes wrong queries and expects errors, but error
+ // message format in Hive and Spark SQL differ. Should workaround this later.
+ "udf_to_unix_timestamp",
+
+ // Cant run without local map/reduce.
+ "index_auto_update",
+ "index_auto_self_join",
+ "index_stale.*",
+ "index_compression",
+ "index_bitmap_compression",
+ "index_auto_multiple",
+ "index_auto_mult_tables_compact",
+ "index_auto_mult_tables",
+ "index_auto_file_format",
+ "index_auth",
+ "index_auto_empty",
+ "index_auto_partitioned",
+ "index_auto_unused",
+ "index_bitmap_auto_partitioned",
+ "ql_rewrite_gbtoidx",
+ "stats1.*",
+ "stats20",
+ "alter_merge_stats",
+ "columnstats.*",
+
+
+ // Hive seems to think 1.0 > NaN = true && 1.0 < NaN = false... which is wrong.
+ // http://stackoverflow.com/a/1573715
+ "ops_comparison",
+
+ // Tests that seems to never complete on hive...
+ "skewjoin",
+ "database",
+
+ // These tests fail and and exit the JVM.
+ "auto_join18_multi_distinct",
+ "join18_multi_distinct",
+ "input44",
+ "input42",
+ "input_dfs",
+ "metadata_export_drop",
+ "repair",
+
+ // Uses a serde that isn't on the classpath... breaks other tests.
+ "bucketizedhiveinputformat",
+
+ // Avro tests seem to change the output format permanently thus breaking the answer cache, until
+ // we figure out why this is the case let just ignore all of avro related tests.
+ ".*avro.*",
+
+ // Unique joins are weird and will require a lot of hacks (see comments in hive parser).
+ "uniquejoin",
+
+ // Hive seems to get the wrong answer on some outer joins. MySQL agrees with catalyst.
+ "auto_join29",
+
+ // No support for multi-alias i.e. udf as (e1, e2, e3).
+ "allcolref_in_udf",
+
+ // No support for TestSerDe (not published afaik)
+ "alter1",
+ "input16",
+
+ // No support for unpublished test udfs.
+ "autogen_colalias",
+
+ // Hive does not support buckets.
+ ".*bucket.*",
+
+ // No window support yet
+ ".*window.*",
+
+ // Fails in hive with authorization errors.
+ "alter_rename_partition_authorization",
+ "authorization.*",
+
+ // Hadoop version specific tests
+ "archive_corrupt",
+
+ // No support for case sensitivity is resolution using hive properties atm.
+ "case_sensitivity",
+
+ // Flaky test, Hive sometimes returns different set of 10 rows.
+ "lateral_view_outer",
+
+ // After stop taking the `stringOrError` route, exceptions are thrown from these cases.
+ // See SPARK-2129 for details.
+ "join_view",
+ "mergejoins_mixed",
+
+ // Returning the result of a describe state as a JSON object is not supported.
+ "describe_table_json",
+ "describe_database_json",
+ "describe_formatted_view_partitioned_json",
+
+ // Hive returns the results of describe as plain text. Comments with multiple lines
+ // introduce extra lines in the Hive results, which make the result comparison fail.
+ "describe_comment_indent"
+ )
+
+ /**
+ * The set of tests that are believed to be working in catalyst. Tests not on whiteList or
+ * blacklist are implicitly marked as ignored.
+ */
+ override def whiteList = Seq(
+ "add_part_exist",
+ "add_part_multiple",
+ "add_partition_no_whitelist",
+ "add_partition_with_whitelist",
+ "alias_casted_column",
+ "alter2",
+ "alter3",
+ "alter4",
+ "alter5",
+ "alter_index",
+ "alter_merge_2",
+ "alter_partition_format_loc",
+ "alter_partition_protect_mode",
+ "alter_partition_with_whitelist",
+ "alter_rename_partition",
+ "alter_table_serde",
+ "alter_varchar1",
+ "alter_varchar2",
+ "alter_view_as_select",
+ "ambiguous_col",
+ "auto_join0",
+ "auto_join1",
+ "auto_join10",
+ "auto_join11",
+ "auto_join12",
+ "auto_join13",
+ "auto_join14",
+ "auto_join14_hadoop20",
+ "auto_join15",
+ "auto_join17",
+ "auto_join18",
+ "auto_join19",
+ "auto_join2",
+ "auto_join20",
+ "auto_join21",
+ "auto_join22",
+ "auto_join23",
+ "auto_join24",
+ "auto_join25",
+ "auto_join26",
+ "auto_join27",
+ "auto_join28",
+ "auto_join3",
+ "auto_join30",
+ "auto_join31",
+ "auto_join32",
+ "auto_join4",
+ "auto_join5",
+ "auto_join6",
+ "auto_join7",
+ "auto_join8",
+ "auto_join9",
+ "auto_join_filters",
+ "auto_join_nulls",
+ "auto_join_reordering_values",
+ "auto_smb_mapjoin_14",
+ "auto_sortmerge_join_1",
+ "auto_sortmerge_join_10",
+ "auto_sortmerge_join_11",
+ "auto_sortmerge_join_12",
+ "auto_sortmerge_join_13",
+ "auto_sortmerge_join_14",
+ "auto_sortmerge_join_15",
+ "auto_sortmerge_join_2",
+ "auto_sortmerge_join_3",
+ "auto_sortmerge_join_4",
+ "auto_sortmerge_join_5",
+ "auto_sortmerge_join_6",
+ "auto_sortmerge_join_7",
+ "auto_sortmerge_join_8",
+ "auto_sortmerge_join_9",
+ "binary_constant",
+ "binarysortable_1",
+ "cast1",
+ "cluster",
+ "combine1",
+ "compute_stats_binary",
+ "compute_stats_boolean",
+ "compute_stats_double",
+ "compute_stats_empty_table",
+ "compute_stats_long",
+ "compute_stats_string",
+ "compute_stats_table",
+ "convert_enum_to_string",
+ "correlationoptimizer1",
+ "correlationoptimizer10",
+ "correlationoptimizer11",
+ "correlationoptimizer13",
+ "correlationoptimizer14",
+ "correlationoptimizer15",
+ "correlationoptimizer2",
+ "correlationoptimizer3",
+ "correlationoptimizer4",
+ "correlationoptimizer6",
+ "correlationoptimizer7",
+ "correlationoptimizer8",
+ "correlationoptimizer9",
+ "count",
+ "cp_mj_rc",
+ "create_insert_outputformat",
+ "create_like_view",
+ "create_nested_type",
+ "create_skewed_table1",
+ "create_struct_table",
+ "ct_case_insensitive",
+ "database_location",
+ "database_properties",
+ "decimal_1",
+ "decimal_4",
+ "decimal_join",
+ "default_partition_name",
+ "delimiter",
+ "desc_non_existent_tbl",
+ "describe_formatted_view_partitioned",
+ "diff_part_input_formats",
+ "disable_file_format_check",
+ "disallow_incompatible_type_change_off",
+ "drop_function",
+ "drop_index",
+ "drop_multi_partitions",
+ "drop_partitions_filter",
+ "drop_partitions_filter2",
+ "drop_partitions_filter3",
+ "drop_partitions_ignore_protection",
+ "drop_table",
+ "drop_table2",
+ "drop_view",
+ "escape_clusterby1",
+ "escape_distributeby1",
+ "escape_orderby1",
+ "escape_sortby1",
+ "fetch_aggregation",
+ "fileformat_sequencefile",
+ "fileformat_text",
+ "filter_join_breaktask",
+ "filter_join_breaktask2",
+ "groupby1",
+ "groupby11",
+ "groupby1_map",
+ "groupby1_map_nomap",
+ "groupby1_map_skew",
+ "groupby1_noskew",
+ "groupby2",
+ "groupby2_map",
+ "groupby2_map_skew",
+ "groupby2_noskew",
+ "groupby4",
+ "groupby4_map",
+ "groupby4_map_skew",
+ "groupby4_noskew",
+ "groupby5",
+ "groupby5_map",
+ "groupby5_map_skew",
+ "groupby5_noskew",
+ "groupby6",
+ "groupby6_map",
+ "groupby6_map_skew",
+ "groupby6_noskew",
+ "groupby7",
+ "groupby7_map",
+ "groupby7_map_multi_single_reducer",
+ "groupby7_map_skew",
+ "groupby7_noskew",
+ "groupby8",
+ "groupby8_map",
+ "groupby8_map_skew",
+ "groupby8_noskew",
+ "groupby9",
+ "groupby_distinct_samekey",
+ "groupby_map_ppr",
+ "groupby_multi_insert_common_distinct",
+ "groupby_multi_single_reducer2",
+ "groupby_multi_single_reducer3",
+ "groupby_mutli_insert_common_distinct",
+ "groupby_neg_float",
+ "groupby_ppd",
+ "groupby_ppr",
+ "groupby_sort_10",
+ "groupby_sort_2",
+ "groupby_sort_3",
+ "groupby_sort_4",
+ "groupby_sort_5",
+ "groupby_sort_6",
+ "groupby_sort_7",
+ "groupby_sort_8",
+ "groupby_sort_9",
+ "groupby_sort_test_1",
+ "having",
+ "having1",
+ "implicit_cast1",
+ "innerjoin",
+ "inoutdriver",
+ "input",
+ "input0",
+ "input1",
+ "input10",
+ "input11",
+ "input11_limit",
+ "input12",
+ "input12_hadoop20",
+ "input14",
+ "input15",
+ "input19",
+ "input1_limit",
+ "input2",
+ "input21",
+ "input22",
+ "input23",
+ "input24",
+ "input25",
+ "input26",
+ "input28",
+ "input2_limit",
+ "input3",
+ "input4",
+ "input40",
+ "input41",
+ "input49",
+ "input4_cb_delim",
+ "input6",
+ "input7",
+ "input8",
+ "input9",
+ "input_limit",
+ "input_part0",
+ "input_part1",
+ "input_part10",
+ "input_part10_win",
+ "input_part2",
+ "input_part3",
+ "input_part4",
+ "input_part5",
+ "input_part6",
+ "input_part7",
+ "input_part8",
+ "input_part9",
+ "input_testsequencefile",
+ "inputddl1",
+ "inputddl2",
+ "inputddl3",
+ "inputddl4",
+ "inputddl6",
+ "inputddl7",
+ "inputddl8",
+ "insert1",
+ "insert2_overwrite_partitions",
+ "insert_compressed",
+ "join0",
+ "join1",
+ "join10",
+ "join11",
+ "join12",
+ "join13",
+ "join14",
+ "join14_hadoop20",
+ "join15",
+ "join16",
+ "join17",
+ "join18",
+ "join19",
+ "join_1to1",
+ "join2",
+ "join20",
+ "join21",
+ "join22",
+ "join23",
+ "join24",
+ "join25",
+ "join26",
+ "join27",
+ "join28",
+ "join29",
+ "join3",
+ "join30",
+ "join31",
+ "join32",
+ "join32_lessSize",
+ "join33",
+ "join34",
+ "join35",
+ "join36",
+ "join37",
+ "join38",
+ "join39",
+ "join4",
+ "join40",
+ "join41",
+ "join5",
+ "join6",
+ "join7",
+ "join8",
+ "join9",
+ "join_array",
+ "join_casesensitive",
+ "join_empty",
+ "join_filters",
+ "join_hive_626",
+ "join_map_ppr",
+ "join_nulls",
+ "join_rc",
+ "join_reorder2",
+ "join_reorder3",
+ "join_reorder4",
+ "join_star",
+ "lateral_view",
+ "lateral_view_cp",
+ "lateral_view_ppd",
+ "leftsemijoin",
+ "leftsemijoin_mr",
+ "limit_pushdown_negative",
+ "lineage1",
+ "literal_double",
+ "literal_ints",
+ "literal_string",
+ "load_dyn_part7",
+ "load_file_with_space_in_the_name",
+ "loadpart1",
+ "louter_join_ppr",
+ "mapjoin_distinct",
+ "mapjoin_filter_on_outerjoin",
+ "mapjoin_mapjoin",
+ "mapjoin_subquery",
+ "mapjoin_subquery2",
+ "mapjoin_test_outer",
+ "mapreduce1",
+ "mapreduce2",
+ "mapreduce3",
+ "mapreduce4",
+ "mapreduce5",
+ "mapreduce6",
+ "mapreduce7",
+ "mapreduce8",
+ "merge1",
+ "merge2",
+ "mergejoins",
+ "multigroupby_singlemr",
+ "multi_insert_gby",
+ "multi_insert_gby3",
+ "multi_insert_lateral_view",
+ "multi_join_union",
+ "multiMapJoin1",
+ "multiMapJoin2",
+ "noalias_subq1",
+ "nomore_ambiguous_table_col",
+ "nonblock_op_deduplicate",
+ "notable_alias1",
+ "notable_alias2",
+ "nullgroup",
+ "nullgroup2",
+ "nullgroup3",
+ "nullgroup4",
+ "nullgroup4_multi_distinct",
+ "nullgroup5",
+ "nullinput",
+ "nullinput2",
+ "nullscript",
+ "optional_outer",
+ "orc_dictionary_threshold",
+ "orc_empty_files",
+ "order",
+ "order2",
+ "outer_join_ppr",
+ "parallel",
+ "parenthesis_star_by",
+ "partcols1",
+ "part_inherit_tbl_props",
+ "part_inherit_tbl_props_empty",
+ "part_inherit_tbl_props_with_star",
+ "partition_schema1",
+ "partition_serde_format",
+ "partition_varchar1",
+ "partition_wise_fileformat4",
+ "partition_wise_fileformat5",
+ "partition_wise_fileformat6",
+ "partition_wise_fileformat7",
+ "partition_wise_fileformat9",
+ "plan_json",
+ "ppd1",
+ "ppd2",
+ "ppd_clusterby",
+ "ppd_constant_expr",
+ "ppd_constant_where",
+ "ppd_gby",
+ "ppd_gby2",
+ "ppd_gby_join",
+ "ppd_join",
+ "ppd_join2",
+ "ppd_join3",
+ "ppd_join_filter",
+ "ppd_outer_join1",
+ "ppd_outer_join2",
+ "ppd_outer_join3",
+ "ppd_outer_join4",
+ "ppd_outer_join5",
+ "ppd_random",
+ "ppd_repeated_alias",
+ "ppd_transform",
+ "ppd_udf_col",
+ "ppd_union",
+ "ppr_allchildsarenull",
+ "ppr_pushdown",
+ "ppr_pushdown2",
+ "ppr_pushdown3",
+ "progress_1",
+ "protectmode",
+ "push_or",
+ "query_with_semi",
+ "quote1",
+ "quote2",
+ "rcfile_columnar",
+ "rcfile_lazydecompress",
+ "rcfile_null_value",
+ "rcfile_toleratecorruptions",
+ "rcfile_union",
+ "reduce_deduplicate",
+ "reduce_deduplicate_exclude_gby",
+ "reduce_deduplicate_exclude_join",
+ "reduce_deduplicate_extended",
+ "reducesink_dedup",
+ "rename_column",
+ "router_join_ppr",
+ "select_as_omitted",
+ "select_unquote_and",
+ "select_unquote_not",
+ "select_unquote_or",
+ "semijoin",
+ "serde_regex",
+ "serde_reported_schema",
+ "set_variable_sub",
+ "show_describe_func_quotes",
+ "show_functions",
+ "show_partitions",
+ "skewjoinopt13",
+ "skewjoinopt18",
+ "skewjoinopt9",
+ "smb_mapjoin9",
+ "smb_mapjoin_1",
+ "smb_mapjoin_10",
+ "smb_mapjoin_13",
+ "smb_mapjoin_14",
+ "smb_mapjoin_15",
+ "smb_mapjoin_16",
+ "smb_mapjoin_17",
+ "smb_mapjoin_2",
+ "smb_mapjoin_21",
+ "smb_mapjoin_25",
+ "smb_mapjoin_3",
+ "smb_mapjoin_4",
+ "smb_mapjoin_5",
+ "smb_mapjoin_6",
+ "smb_mapjoin_7",
+ "smb_mapjoin_8",
+ "sort",
+ "sort_merge_join_desc_1",
+ "sort_merge_join_desc_2",
+ "sort_merge_join_desc_3",
+ "sort_merge_join_desc_4",
+ "sort_merge_join_desc_5",
+ "sort_merge_join_desc_6",
+ "sort_merge_join_desc_7",
+ "stats0",
+ "stats_aggregator_error_1",
+ "stats_empty_partition",
+ "stats_publisher_error_1",
+ "subq2",
+ "tablename_with_select",
+ "timestamp_1",
+ "timestamp_2",
+ "timestamp_3",
+ "timestamp_comparison",
+ "timestamp_lazy",
+ "timestamp_null",
+ "timestamp_udf",
+ "touch",
+ "transform_ppr1",
+ "transform_ppr2",
+ "type_cast_1",
+ "type_widening",
+ "udaf_collect_set",
+ "udaf_corr",
+ "udaf_covar_pop",
+ "udaf_covar_samp",
+ "udaf_histogram_numeric",
+ "udf_10_trims",
+ "udf2",
+ "udf6",
+ "udf7",
+ "udf8",
+ "udf9",
+ "udf_E",
+ "udf_PI",
+ "udf_abs",
+ "udf_acos",
+ "udf_add",
+ "udf_array",
+ "udf_array_contains",
+ "udf_ascii",
+ "udf_asin",
+ "udf_atan",
+ "udf_avg",
+ "udf_bigint",
+ "udf_bin",
+ "udf_bitmap_and",
+ "udf_bitmap_empty",
+ "udf_bitmap_or",
+ "udf_bitwise_and",
+ "udf_bitwise_not",
+ "udf_bitwise_or",
+ "udf_bitwise_xor",
+ "udf_boolean",
+ "udf_case",
+ "udf_ceil",
+ "udf_ceiling",
+ "udf_concat",
+ "udf_concat_insert1",
+ "udf_concat_insert2",
+ "udf_concat_ws",
+ "udf_conv",
+ "udf_cos",
+ "udf_count",
+ "udf_date_add",
+ "udf_datediff",
+ "udf_date_sub",
+ "udf_day",
+ "udf_dayofmonth",
+ "udf_degrees",
+ "udf_div",
+ "udf_double",
+ "udf_E",
+ "udf_elt",
+ "udf_exp",
+ "udf_field",
+ "udf_find_in_set",
+ "udf_float",
+ "udf_floor",
+ "udf_format_number",
+ "udf_from_unixtime",
+ "udf_greaterthan",
+ "udf_greaterthanorequal",
+ "udf_hash",
+ "udf_hex",
+ "udf_if",
+ "udf_index",
+ "udf_instr",
+ "udf_int",
+ "udf_isnotnull",
+ "udf_isnull",
+ "udf_java_method",
+ "udf_lcase",
+ "udf_length",
+ "udf_lessthan",
+ "udf_lessthanorequal",
+ "udf_like",
+ "udf_ln",
+ "udf_locate",
+ "udf_log",
+ "udf_log10",
+ "udf_log2",
+ "udf_lower",
+ "udf_lpad",
+ "udf_ltrim",
+ "udf_map",
+ "udf_minute",
+ "udf_modulo",
+ "udf_month",
+ "udf_negative",
+ "udf_not",
+ "udf_notequal",
+ "udf_notop",
+ "udf_nvl",
+ "udf_or",
+ "udf_parse_url",
+ "udf_PI",
+ "udf_positive",
+ "udf_pow",
+ "udf_power",
+ "udf_radians",
+ "udf_rand",
+ "udf_regexp",
+ "udf_regexp_extract",
+ "udf_regexp_replace",
+ "udf_repeat",
+ "udf_rlike",
+ "udf_round",
+ "udf_round_3",
+ "udf_rpad",
+ "udf_rtrim",
+ "udf_second",
+ "udf_sign",
+ "udf_sin",
+ "udf_smallint",
+ "udf_space",
+ "udf_sqrt",
+ "udf_std",
+ "udf_stddev",
+ "udf_stddev_pop",
+ "udf_stddev_samp",
+ "udf_string",
+ "udf_substring",
+ "udf_subtract",
+ "udf_sum",
+ "udf_tan",
+ "udf_tinyint",
+ "udf_to_byte",
+ "udf_to_date",
+ "udf_to_double",
+ "udf_to_float",
+ "udf_to_long",
+ "udf_to_short",
+ "udf_translate",
+ "udf_trim",
+ "udf_ucase",
+ "udf_unix_timestamp",
+ "udf_upper",
+ "udf_var_pop",
+ "udf_var_samp",
+ "udf_variance",
+ "udf_weekofyear",
+ "udf_when",
+ "udf_xpath",
+ "udf_xpath_boolean",
+ "udf_xpath_double",
+ "udf_xpath_float",
+ "udf_xpath_int",
+ "udf_xpath_long",
+ "udf_xpath_short",
+ "udf_xpath_string",
+ "unicode_notation",
+ "union10",
+ "union11",
+ "union13",
+ "union14",
+ "union15",
+ "union16",
+ "union17",
+ "union18",
+ "union19",
+ "union2",
+ "union20",
+ "union22",
+ "union23",
+ "union24",
+ "union25",
+ "union26",
+ "union27",
+ "union28",
+ "union29",
+ "union3",
+ "union30",
+ "union31",
+ "union33",
+ "union34",
+ "union4",
+ "union5",
+ "union6",
+ "union7",
+ "union8",
+ "union9",
+ "union_lateralview",
+ "union_ppr",
+ "union_remove_11",
+ "union_remove_3",
+ "union_remove_6",
+ "union_script",
+ "varchar_2",
+ "varchar_join1",
+ "varchar_union1"
+ )
+}
http://git-wip-us.apache.org/repos/asf/spark/blob/60f0ae3d/sql/hive/pom.xml
----------------------------------------------------------------------
diff --git a/sql/hive/pom.xml b/sql/hive/pom.xml
index f30ae28..1699ffe 100644
--- a/sql/hive/pom.xml
+++ b/sql/hive/pom.xml
@@ -102,6 +102,36 @@
<scope>test</scope>
</dependency>
</dependencies>
+
+ <profiles>
+ <profile>
+ <id>hive</id>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>build-helper-maven-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>add-scala-test-sources</id>
+ <phase>generate-test-sources</phase>
+ <goals>
+ <goal>add-test-source</goal>
+ </goals>
+ <configuration>
+ <sources>
+ <source>src/test/scala</source>
+ <source>compatibility/src/test/scala</source>
+ </sources>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+ </profiles>
+
<build>
<outputDirectory>target/scala-${scala.binary.version}/classes</outputDirectory>
<testOutputDirectory>target/scala-${scala.binary.version}/test-classes</testOutputDirectory>
http://git-wip-us.apache.org/repos/asf/spark/blob/60f0ae3d/sql/hive/src/test/scala/org/apache/spark/sql/hive/execution/HiveCompatibilitySuite.scala
----------------------------------------------------------------------
diff --git a/sql/hive/src/test/scala/org/apache/spark/sql/hive/execution/HiveCompatibilitySuite.scala b/sql/hive/src/test/scala/org/apache/spark/sql/hive/execution/HiveCompatibilitySuite.scala
deleted file mode 100644
index 8b45197..0000000
--- a/sql/hive/src/test/scala/org/apache/spark/sql/hive/execution/HiveCompatibilitySuite.scala
+++ /dev/null
@@ -1,875 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.spark.sql.hive.execution
-
-import java.io.File
-import java.util.TimeZone
-
-import org.scalatest.BeforeAndAfter
-
-import org.apache.spark.sql.hive.test.TestHive
-
-/**
- * Runs the test cases that are included in the hive distribution.
- */
-class HiveCompatibilitySuite extends HiveQueryFileTest with BeforeAndAfter {
- // TODO: bundle in jar files... get from classpath
- lazy val hiveQueryDir = TestHive.getHiveFile("ql" + File.separator + "src" +
- File.separator + "test" + File.separator + "queries" + File.separator + "clientpositive")
-
- var originalTimeZone: TimeZone = _
-
- def testCases = hiveQueryDir.listFiles.map(f => f.getName.stripSuffix(".q") -> f)
-
- override def beforeAll() {
- TestHive.cacheTables = true
- // Timezone is fixed to America/Los_Angeles for those timezone sensitive tests (timestamp_*)
- originalTimeZone = TimeZone.getDefault
- TimeZone.setDefault(TimeZone.getTimeZone("America/Los_Angeles"))
- }
-
- override def afterAll() {
- TestHive.cacheTables = false
- TimeZone.setDefault(originalTimeZone)
- }
-
- /** A list of tests deemed out of scope currently and thus completely disregarded. */
- override def blackList = Seq(
- // These tests use hooks that are not on the classpath and thus break all subsequent execution.
- "hook_order",
- "hook_context",
- "mapjoin_hook",
- "multi_sahooks",
- "overridden_confs",
- "query_properties",
- "sample10",
- "updateAccessTime",
- "index_compact_binary_search",
- "bucket_num_reducers",
- "column_access_stats",
- "concatenate_inherit_table_location",
- "describe_pretty",
- "describe_syntax",
- "orc_ends_with_nulls",
-
- // Setting a default property does not seem to get reset and thus changes the answer for many
- // subsequent tests.
- "create_default_prop",
-
- // User/machine specific test answers, breaks the caching mechanism.
- "authorization_3",
- "authorization_5",
- "keyword_1",
- "misc_json",
- "create_like_tbl_props",
- "load_overwrite",
- "alter_table_serde2",
- "alter_table_not_sorted",
- "alter_skewed_table",
- "alter_partition_clusterby_sortby",
- "alter_merge",
- "alter_concatenate_indexed_table",
- "protectmode2",
- //"describe_table",
- "describe_comment_nonascii",
- "udf5",
- "udf_java_method",
- "create_merge_compressed",
-
- // DFS commands
- "symlink_text_input_format",
-
- // Weird DDL differences result in failures on jenkins.
- "create_like2",
- "create_view_translate",
- "partitions_json",
-
- // This test is totally fine except that it includes wrong queries and expects errors, but error
- // message format in Hive and Spark SQL differ. Should workaround this later.
- "udf_to_unix_timestamp",
-
- // Cant run without local map/reduce.
- "index_auto_update",
- "index_auto_self_join",
- "index_stale.*",
- "index_compression",
- "index_bitmap_compression",
- "index_auto_multiple",
- "index_auto_mult_tables_compact",
- "index_auto_mult_tables",
- "index_auto_file_format",
- "index_auth",
- "index_auto_empty",
- "index_auto_partitioned",
- "index_auto_unused",
- "index_bitmap_auto_partitioned",
- "ql_rewrite_gbtoidx",
- "stats1.*",
- "stats20",
- "alter_merge_stats",
- "columnstats.*",
-
-
- // Hive seems to think 1.0 > NaN = true && 1.0 < NaN = false... which is wrong.
- // http://stackoverflow.com/a/1573715
- "ops_comparison",
-
- // Tests that seems to never complete on hive...
- "skewjoin",
- "database",
-
- // These tests fail and and exit the JVM.
- "auto_join18_multi_distinct",
- "join18_multi_distinct",
- "input44",
- "input42",
- "input_dfs",
- "metadata_export_drop",
- "repair",
-
- // Uses a serde that isn't on the classpath... breaks other tests.
- "bucketizedhiveinputformat",
-
- // Avro tests seem to change the output format permanently thus breaking the answer cache, until
- // we figure out why this is the case let just ignore all of avro related tests.
- ".*avro.*",
-
- // Unique joins are weird and will require a lot of hacks (see comments in hive parser).
- "uniquejoin",
-
- // Hive seems to get the wrong answer on some outer joins. MySQL agrees with catalyst.
- "auto_join29",
-
- // No support for multi-alias i.e. udf as (e1, e2, e3).
- "allcolref_in_udf",
-
- // No support for TestSerDe (not published afaik)
- "alter1",
- "input16",
-
- // No support for unpublished test udfs.
- "autogen_colalias",
-
- // Hive does not support buckets.
- ".*bucket.*",
-
- // No window support yet
- ".*window.*",
-
- // Fails in hive with authorization errors.
- "alter_rename_partition_authorization",
- "authorization.*",
-
- // Hadoop version specific tests
- "archive_corrupt",
-
- // No support for case sensitivity is resolution using hive properties atm.
- "case_sensitivity",
-
- // Flaky test, Hive sometimes returns different set of 10 rows.
- "lateral_view_outer",
-
- // After stop taking the `stringOrError` route, exceptions are thrown from these cases.
- // See SPARK-2129 for details.
- "join_view",
- "mergejoins_mixed",
-
- // Returning the result of a describe state as a JSON object is not supported.
- "describe_table_json",
- "describe_database_json",
- "describe_formatted_view_partitioned_json",
-
- // Hive returns the results of describe as plain text. Comments with multiple lines
- // introduce extra lines in the Hive results, which make the result comparison fail.
- "describe_comment_indent"
- )
-
- /**
- * The set of tests that are believed to be working in catalyst. Tests not on whiteList or
- * blacklist are implicitly marked as ignored.
- */
- override def whiteList = Seq(
- "add_part_exist",
- "add_part_multiple",
- "add_partition_no_whitelist",
- "add_partition_with_whitelist",
- "alias_casted_column",
- "alter2",
- "alter3",
- "alter4",
- "alter5",
- "alter_index",
- "alter_merge_2",
- "alter_partition_format_loc",
- "alter_partition_protect_mode",
- "alter_partition_with_whitelist",
- "alter_rename_partition",
- "alter_table_serde",
- "alter_varchar1",
- "alter_varchar2",
- "alter_view_as_select",
- "ambiguous_col",
- "auto_join0",
- "auto_join1",
- "auto_join10",
- "auto_join11",
- "auto_join12",
- "auto_join13",
- "auto_join14",
- "auto_join14_hadoop20",
- "auto_join15",
- "auto_join17",
- "auto_join18",
- "auto_join19",
- "auto_join2",
- "auto_join20",
- "auto_join21",
- "auto_join22",
- "auto_join23",
- "auto_join24",
- "auto_join25",
- "auto_join26",
- "auto_join27",
- "auto_join28",
- "auto_join3",
- "auto_join30",
- "auto_join31",
- "auto_join32",
- "auto_join4",
- "auto_join5",
- "auto_join6",
- "auto_join7",
- "auto_join8",
- "auto_join9",
- "auto_join_filters",
- "auto_join_nulls",
- "auto_join_reordering_values",
- "auto_smb_mapjoin_14",
- "auto_sortmerge_join_1",
- "auto_sortmerge_join_10",
- "auto_sortmerge_join_11",
- "auto_sortmerge_join_12",
- "auto_sortmerge_join_13",
- "auto_sortmerge_join_14",
- "auto_sortmerge_join_15",
- "auto_sortmerge_join_2",
- "auto_sortmerge_join_3",
- "auto_sortmerge_join_4",
- "auto_sortmerge_join_5",
- "auto_sortmerge_join_6",
- "auto_sortmerge_join_7",
- "auto_sortmerge_join_8",
- "auto_sortmerge_join_9",
- "binary_constant",
- "binarysortable_1",
- "cast1",
- "cluster",
- "combine1",
- "compute_stats_binary",
- "compute_stats_boolean",
- "compute_stats_double",
- "compute_stats_empty_table",
- "compute_stats_long",
- "compute_stats_string",
- "compute_stats_table",
- "convert_enum_to_string",
- "correlationoptimizer1",
- "correlationoptimizer10",
- "correlationoptimizer11",
- "correlationoptimizer13",
- "correlationoptimizer14",
- "correlationoptimizer15",
- "correlationoptimizer2",
- "correlationoptimizer3",
- "correlationoptimizer4",
- "correlationoptimizer6",
- "correlationoptimizer7",
- "correlationoptimizer8",
- "correlationoptimizer9",
- "count",
- "cp_mj_rc",
- "create_insert_outputformat",
- "create_like_view",
- "create_nested_type",
- "create_skewed_table1",
- "create_struct_table",
- "ct_case_insensitive",
- "database_location",
- "database_properties",
- "decimal_1",
- "decimal_4",
- "decimal_join",
- "default_partition_name",
- "delimiter",
- "desc_non_existent_tbl",
- "describe_formatted_view_partitioned",
- "diff_part_input_formats",
- "disable_file_format_check",
- "disallow_incompatible_type_change_off",
- "drop_function",
- "drop_index",
- "drop_multi_partitions",
- "drop_partitions_filter",
- "drop_partitions_filter2",
- "drop_partitions_filter3",
- "drop_partitions_ignore_protection",
- "drop_table",
- "drop_table2",
- "drop_view",
- "escape_clusterby1",
- "escape_distributeby1",
- "escape_orderby1",
- "escape_sortby1",
- "fetch_aggregation",
- "fileformat_sequencefile",
- "fileformat_text",
- "filter_join_breaktask",
- "filter_join_breaktask2",
- "groupby1",
- "groupby11",
- "groupby1_map",
- "groupby1_map_nomap",
- "groupby1_map_skew",
- "groupby1_noskew",
- "groupby2",
- "groupby2_map",
- "groupby2_map_skew",
- "groupby2_noskew",
- "groupby4",
- "groupby4_map",
- "groupby4_map_skew",
- "groupby4_noskew",
- "groupby5",
- "groupby5_map",
- "groupby5_map_skew",
- "groupby5_noskew",
- "groupby6",
- "groupby6_map",
- "groupby6_map_skew",
- "groupby6_noskew",
- "groupby7",
- "groupby7_map",
- "groupby7_map_multi_single_reducer",
- "groupby7_map_skew",
- "groupby7_noskew",
- "groupby8",
- "groupby8_map",
- "groupby8_map_skew",
- "groupby8_noskew",
- "groupby9",
- "groupby_distinct_samekey",
- "groupby_map_ppr",
- "groupby_multi_insert_common_distinct",
- "groupby_multi_single_reducer2",
- "groupby_multi_single_reducer3",
- "groupby_mutli_insert_common_distinct",
- "groupby_neg_float",
- "groupby_ppd",
- "groupby_ppr",
- "groupby_sort_10",
- "groupby_sort_2",
- "groupby_sort_3",
- "groupby_sort_4",
- "groupby_sort_5",
- "groupby_sort_6",
- "groupby_sort_7",
- "groupby_sort_8",
- "groupby_sort_9",
- "groupby_sort_test_1",
- "having",
- "having1",
- "implicit_cast1",
- "innerjoin",
- "inoutdriver",
- "input",
- "input0",
- "input1",
- "input10",
- "input11",
- "input11_limit",
- "input12",
- "input12_hadoop20",
- "input14",
- "input15",
- "input19",
- "input1_limit",
- "input2",
- "input21",
- "input22",
- "input23",
- "input24",
- "input25",
- "input26",
- "input28",
- "input2_limit",
- "input3",
- "input4",
- "input40",
- "input41",
- "input49",
- "input4_cb_delim",
- "input6",
- "input7",
- "input8",
- "input9",
- "input_limit",
- "input_part0",
- "input_part1",
- "input_part10",
- "input_part10_win",
- "input_part2",
- "input_part3",
- "input_part4",
- "input_part5",
- "input_part6",
- "input_part7",
- "input_part8",
- "input_part9",
- "input_testsequencefile",
- "inputddl1",
- "inputddl2",
- "inputddl3",
- "inputddl4",
- "inputddl6",
- "inputddl7",
- "inputddl8",
- "insert1",
- "insert2_overwrite_partitions",
- "insert_compressed",
- "join0",
- "join1",
- "join10",
- "join11",
- "join12",
- "join13",
- "join14",
- "join14_hadoop20",
- "join15",
- "join16",
- "join17",
- "join18",
- "join19",
- "join_1to1",
- "join2",
- "join20",
- "join21",
- "join22",
- "join23",
- "join24",
- "join25",
- "join26",
- "join27",
- "join28",
- "join29",
- "join3",
- "join30",
- "join31",
- "join32",
- "join32_lessSize",
- "join33",
- "join34",
- "join35",
- "join36",
- "join37",
- "join38",
- "join39",
- "join4",
- "join40",
- "join41",
- "join5",
- "join6",
- "join7",
- "join8",
- "join9",
- "join_array",
- "join_casesensitive",
- "join_empty",
- "join_filters",
- "join_hive_626",
- "join_map_ppr",
- "join_nulls",
- "join_rc",
- "join_reorder2",
- "join_reorder3",
- "join_reorder4",
- "join_star",
- "lateral_view",
- "lateral_view_cp",
- "lateral_view_ppd",
- "leftsemijoin",
- "leftsemijoin_mr",
- "limit_pushdown_negative",
- "lineage1",
- "literal_double",
- "literal_ints",
- "literal_string",
- "load_dyn_part7",
- "load_file_with_space_in_the_name",
- "loadpart1",
- "louter_join_ppr",
- "mapjoin_distinct",
- "mapjoin_filter_on_outerjoin",
- "mapjoin_mapjoin",
- "mapjoin_subquery",
- "mapjoin_subquery2",
- "mapjoin_test_outer",
- "mapreduce1",
- "mapreduce2",
- "mapreduce3",
- "mapreduce4",
- "mapreduce5",
- "mapreduce6",
- "mapreduce7",
- "mapreduce8",
- "merge1",
- "merge2",
- "mergejoins",
- "multigroupby_singlemr",
- "multi_insert_gby",
- "multi_insert_gby3",
- "multi_insert_lateral_view",
- "multi_join_union",
- "multiMapJoin1",
- "multiMapJoin2",
- "noalias_subq1",
- "nomore_ambiguous_table_col",
- "nonblock_op_deduplicate",
- "notable_alias1",
- "notable_alias2",
- "nullgroup",
- "nullgroup2",
- "nullgroup3",
- "nullgroup4",
- "nullgroup4_multi_distinct",
- "nullgroup5",
- "nullinput",
- "nullinput2",
- "nullscript",
- "optional_outer",
- "orc_dictionary_threshold",
- "orc_empty_files",
- "order",
- "order2",
- "outer_join_ppr",
- "parallel",
- "parenthesis_star_by",
- "partcols1",
- "part_inherit_tbl_props",
- "part_inherit_tbl_props_empty",
- "part_inherit_tbl_props_with_star",
- "partition_schema1",
- "partition_serde_format",
- "partition_varchar1",
- "partition_wise_fileformat4",
- "partition_wise_fileformat5",
- "partition_wise_fileformat6",
- "partition_wise_fileformat7",
- "partition_wise_fileformat9",
- "plan_json",
- "ppd1",
- "ppd2",
- "ppd_clusterby",
- "ppd_constant_expr",
- "ppd_constant_where",
- "ppd_gby",
- "ppd_gby2",
- "ppd_gby_join",
- "ppd_join",
- "ppd_join2",
- "ppd_join3",
- "ppd_join_filter",
- "ppd_outer_join1",
- "ppd_outer_join2",
- "ppd_outer_join3",
- "ppd_outer_join4",
- "ppd_outer_join5",
- "ppd_random",
- "ppd_repeated_alias",
- "ppd_transform",
- "ppd_udf_col",
- "ppd_union",
- "ppr_allchildsarenull",
- "ppr_pushdown",
- "ppr_pushdown2",
- "ppr_pushdown3",
- "progress_1",
- "protectmode",
- "push_or",
- "query_with_semi",
- "quote1",
- "quote2",
- "rcfile_columnar",
- "rcfile_lazydecompress",
- "rcfile_null_value",
- "rcfile_toleratecorruptions",
- "rcfile_union",
- "reduce_deduplicate",
- "reduce_deduplicate_exclude_gby",
- "reduce_deduplicate_exclude_join",
- "reduce_deduplicate_extended",
- "reducesink_dedup",
- "rename_column",
- "router_join_ppr",
- "select_as_omitted",
- "select_unquote_and",
- "select_unquote_not",
- "select_unquote_or",
- "semijoin",
- "serde_regex",
- "serde_reported_schema",
- "set_variable_sub",
- "show_describe_func_quotes",
- "show_functions",
- "show_partitions",
- "skewjoinopt13",
- "skewjoinopt18",
- "skewjoinopt9",
- "smb_mapjoin9",
- "smb_mapjoin_1",
- "smb_mapjoin_10",
- "smb_mapjoin_13",
- "smb_mapjoin_14",
- "smb_mapjoin_15",
- "smb_mapjoin_16",
- "smb_mapjoin_17",
- "smb_mapjoin_2",
- "smb_mapjoin_21",
- "smb_mapjoin_25",
- "smb_mapjoin_3",
- "smb_mapjoin_4",
- "smb_mapjoin_5",
- "smb_mapjoin_6",
- "smb_mapjoin_7",
- "smb_mapjoin_8",
- "sort",
- "sort_merge_join_desc_1",
- "sort_merge_join_desc_2",
- "sort_merge_join_desc_3",
- "sort_merge_join_desc_4",
- "sort_merge_join_desc_5",
- "sort_merge_join_desc_6",
- "sort_merge_join_desc_7",
- "stats0",
- "stats_aggregator_error_1",
- "stats_empty_partition",
- "stats_publisher_error_1",
- "subq2",
- "tablename_with_select",
- "timestamp_1",
- "timestamp_2",
- "timestamp_3",
- "timestamp_comparison",
- "timestamp_lazy",
- "timestamp_null",
- "timestamp_udf",
- "touch",
- "transform_ppr1",
- "transform_ppr2",
- "type_cast_1",
- "type_widening",
- "udaf_collect_set",
- "udaf_corr",
- "udaf_covar_pop",
- "udaf_covar_samp",
- "udaf_histogram_numeric",
- "udf_10_trims",
- "udf2",
- "udf6",
- "udf7",
- "udf8",
- "udf9",
- "udf_E",
- "udf_PI",
- "udf_abs",
- "udf_acos",
- "udf_add",
- "udf_array",
- "udf_array_contains",
- "udf_ascii",
- "udf_asin",
- "udf_atan",
- "udf_avg",
- "udf_bigint",
- "udf_bin",
- "udf_bitmap_and",
- "udf_bitmap_empty",
- "udf_bitmap_or",
- "udf_bitwise_and",
- "udf_bitwise_not",
- "udf_bitwise_or",
- "udf_bitwise_xor",
- "udf_boolean",
- "udf_case",
- "udf_ceil",
- "udf_ceiling",
- "udf_concat",
- "udf_concat_insert1",
- "udf_concat_insert2",
- "udf_concat_ws",
- "udf_conv",
- "udf_cos",
- "udf_count",
- "udf_date_add",
- "udf_datediff",
- "udf_date_sub",
- "udf_day",
- "udf_dayofmonth",
- "udf_degrees",
- "udf_div",
- "udf_double",
- "udf_E",
- "udf_elt",
- "udf_exp",
- "udf_field",
- "udf_find_in_set",
- "udf_float",
- "udf_floor",
- "udf_format_number",
- "udf_from_unixtime",
- "udf_greaterthan",
- "udf_greaterthanorequal",
- "udf_hash",
- "udf_hex",
- "udf_if",
- "udf_index",
- "udf_instr",
- "udf_int",
- "udf_isnotnull",
- "udf_isnull",
- "udf_java_method",
- "udf_lcase",
- "udf_length",
- "udf_lessthan",
- "udf_lessthanorequal",
- "udf_like",
- "udf_ln",
- "udf_locate",
- "udf_log",
- "udf_log10",
- "udf_log2",
- "udf_lower",
- "udf_lpad",
- "udf_ltrim",
- "udf_map",
- "udf_minute",
- "udf_modulo",
- "udf_month",
- "udf_negative",
- "udf_not",
- "udf_notequal",
- "udf_notop",
- "udf_nvl",
- "udf_or",
- "udf_parse_url",
- "udf_PI",
- "udf_positive",
- "udf_pow",
- "udf_power",
- "udf_radians",
- "udf_rand",
- "udf_regexp",
- "udf_regexp_extract",
- "udf_regexp_replace",
- "udf_repeat",
- "udf_rlike",
- "udf_round",
- "udf_round_3",
- "udf_rpad",
- "udf_rtrim",
- "udf_second",
- "udf_sign",
- "udf_sin",
- "udf_smallint",
- "udf_space",
- "udf_sqrt",
- "udf_std",
- "udf_stddev",
- "udf_stddev_pop",
- "udf_stddev_samp",
- "udf_string",
- "udf_substring",
- "udf_subtract",
- "udf_sum",
- "udf_tan",
- "udf_tinyint",
- "udf_to_byte",
- "udf_to_date",
- "udf_to_double",
- "udf_to_float",
- "udf_to_long",
- "udf_to_short",
- "udf_translate",
- "udf_trim",
- "udf_ucase",
- "udf_unix_timestamp",
- "udf_upper",
- "udf_var_pop",
- "udf_var_samp",
- "udf_variance",
- "udf_weekofyear",
- "udf_when",
- "udf_xpath",
- "udf_xpath_boolean",
- "udf_xpath_double",
- "udf_xpath_float",
- "udf_xpath_int",
- "udf_xpath_long",
- "udf_xpath_short",
- "udf_xpath_string",
- "unicode_notation",
- "union10",
- "union11",
- "union13",
- "union14",
- "union15",
- "union16",
- "union17",
- "union18",
- "union19",
- "union2",
- "union20",
- "union22",
- "union23",
- "union24",
- "union25",
- "union26",
- "union27",
- "union28",
- "union29",
- "union3",
- "union30",
- "union31",
- "union33",
- "union34",
- "union4",
- "union5",
- "union6",
- "union7",
- "union8",
- "union9",
- "union_lateralview",
- "union_ppr",
- "union_remove_11",
- "union_remove_3",
- "union_remove_6",
- "union_script",
- "varchar_2",
- "varchar_join1",
- "varchar_union1"
- )
-}