(一)字段名称重复
错误提示:Ambiguous column reference property_id
表示property_id字段名称有重复的,如下面的写法:
cast(category_level as string) as property_id,
cast(property_id as string) as property_id,
cast(0 as string) as ipv,
cast(0 as string) as ipvuv,
(二)union all字段名称一致
UNION ALL必须要让union的各个表保持字段名称一样
案例:
cast(category_level as string) as category_id,
cast(property_id as string) as property_id,
cast(0 as string) as ipv,
cast(0 as string) as ipvuv,
是可以的
但是
cast(category_level as string) ,
cast(property_id as string) ,
cast(0 as string) as ipv,
cast(0 as string) as ipvuv,
会报错说字段不匹配
(三)UNION ALL 嵌套错误
错误信息如下:
Hive history file=/tmp/weique.lqf/hive_job_log_weique.lqf_201209041729_460174_1017312942.txt
FAILED: Hive Internal Error: java.lang.NullPointerException(null)
java.lang.NullPointerException
at org.apache.hadoop.hive.ql.parse.SemanticAnalyzer.generateErrorMessage(SemanticAnalyzer.java:435)
at org.apache.hadoop.hive.ql.parse.SemanticAnalyzer.genUnionPlan(SemanticAnalyzer.java:5802)
at org.apache.hadoop.hive.ql.parse.SemanticAnalyzer.genPlan(SemanticAnalyzer.java:6163)
at org.apache.hadoop.hive.ql.parse.SemanticAnalyzer.genPlan(SemanticAnalyzer.java:6160)
at org.apache.hadoop.hive.ql.parse.SemanticAnalyzer.genPlan(SemanticAnalyzer.java:6178)
at org.apache.hadoop.hive.ql.parse.SemanticAnalyzer.analyzeInternal(SemanticAnalyzer.java:6953)
at org.apache.hadoop.hive.ql.parse.BaseSemanticAnalyzer.analyze(BaseSemanticAnalyzer.java:137)
at org.apache.hadoop.hive.ql.Driver.compile(Driver.java:294)
at org.apache.hadoop.hive.ql.Driver.run(Driver.java:392)
at org.apache.hadoop.hive.cli.CliDriver.processCmd(CliDriver.java:177)
at org.apache.hadoop.hive.cli.CliDriver.processLine(CliDriver.java:257)
at org.apache.hadoop.hive.cli.CliDriver.main(CliDriver.java:389)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.hadoop.util.RunJar.main(RunJar.java:165)
at org.apache.hadoop.mapred.JobShell.run(JobShell.java:54)
at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:65)
at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:79)
at org.apache.hadoop.mapred.JobShell.main(JobShell.java:68)
over
说明了你的unino all里面有嵌套的union all,这个不知道为什么出现问题,
建议的写法是创建一张临时表用union all,然后union all临时表。
(四)HIVE 中null的处理
hive里面null也是一个字符串,长度为4,在用sum等统计汇总的时候,会得到不一样的结果,
建议用下面的语句,在你建表之后将null和''进行等值处理。
ALTER TABLE tmall_data_fdi_search_query_cat_qp_temp_1 SET SERDEPROPERTIES ('serialization.null.format'='');
这样null和‘’等价
(五)exist in的写法
left semi join是0.5.0以上版本的特性。
可以替代in
SELECT a.key, a.val FROM a LEFT SEMI JOIN b on (a.key = b.key);
分享到:
相关推荐
elasticsearch-hadoop-hive-2.3.4.jar包下载
本压缩包“spark--bin-hadoop3-without-hive.tgz”提供了Spark二进制版本,针对Hadoop 3.1.3进行了编译和打包,这意味着它已经与Hadoop 3.x兼容,但不包含Hive组件。在CentOS 8操作系统上,这个版本的Spark已经被...
-- spark1.6.0 hive on spark的spark包,这个是已经经过./make-distribution.sh --name "hadoop2-without-hive" --tgz "-Pyarn,hadoop-provided,hadoop-2.4,parquet-provided"编译后的了spark-1.6.0-bin-hadoop2-without-...
spark2.3.0 without hive 编译版本,用于Hive on ..../dev/make-distribution.sh --name "hadoop277-without-hive" --tgz "-Pyarn,hadoop-provided,hadoop-2.7,parquet-provided,orc-provided" -Dhadoop.version=2.7.7
在描述中提到的"spark-2.3.1-bin-hadoop2.9-without-hive.tgz"是一个特别构建的Spark发行版,不包含Hive的支持,意味着这个版本的Spark没有内置与Hive交互的能力。 在大数据处理领域,Spark以其内存计算特性而闻名...
mongo-hadoop-hive-2.0.0.jar xx cc vvs . dd s . s ww w .
hive 加载mongdb数据所需的三个包mongo-hadoop-core-2.0.2.jar mongo-hadoop-hive-2.0.0.jar mongo-java-driver-3.6.1.jar
"spark--bin-hadoop2-without-hive.tgz"是一个包含Spark二进制发行版的压缩包,专为Hadoop 2版本设计,但不包含Hive组件。这个压缩包主要用于在没有Hive环境的系统上部署和运行Spark。 1. **Spark核心概念**: - *...
然而,有时我们可能需要在不依赖 Hive JAR 包的情况下,使用 Spark 处理 Hive 上的数据,这就是"spark-2.3.0-bin-hadoop2-without-hive"这个软件包的目的。 Spark 2.3.0 是一个强大的分布式计算框架,其性能和灵活...
docker-hadoop-spark-hive 快速构建你的大数据环境docker-hadoop-spark-hivedocker-hadoop-spark-hive 快速构建你的大数据环境这是一个 基于docker 构建的 一键启停 大数据 学习平台Hadoop 2.8配置单元 2.1.0spark ...
Hadoop-2.8.0-HA-Hive安装部署与HQL07.hive.mp4
总结来说,“spark-3.2.0-bin-hadoop3-without-hive”是一个专注于 Spark 与 Hadoop 3 基础集成的版本,它提供了最新的 Spark 特性,如优化的 SQL 引擎和 DataFrame API,同时也兼容 Hadoop 3 的诸多改进。...
Hadoop-2.8.0-HA-Hive安装部署与HQL09.hive的基本语法--建表语法.mp4
Hadoop-2.8.0-HA-Hive安装部署与HQL11.hive的基本语法--CTAS建表.mp4
Hadoop-2.8.0-HA-Hive安装部署与HQL06.hive的安装和基本使用.mp4
本JAR包用于把Mongo数据抽取到hive种对表字段的映射,如果没有这个包,是无法映射的
Hadoop-2.8.0-HA-Hive安装部署与HQL08.hive的脚本化运行使用方式.mp4
Hadoop-2.8.0-HA-Hive安装部署与HQL04.hive的基本功能机制和概念.mp4
Hadoop-2.8.0-HA-Hive安装部署与HQL05.mysql的安装详细步骤.mp4
Hadoop-2.8.0-HA-Hive安装部署与HQL10.hive的基本语法--内部表和外部表.mp4