org.apache.hadoop.hive.ql.tools.LineageInfo
public static void main(String[] args) throws IOException, ParseException,
SemanticException {
//String query = args[0];
//String query = "select a.* from a join (select * from b where id like '%哈哈%') c on a.id = c.id";
String query = "insert overwrite table youni_contact_name_his_temp2 " +
"select a.*,b.type,b.kind1,b.kind3,b.keywords,b.match_type,b.male_rt,b.male_accuracyrate ,b.income " +
"from youni_contact_name_his_temp a join (select type,kind1,kind3,keywords,match_type,male_rt,male_accuracyrate ,income " +
"from youni_contact_name_type_dim where match_type='{data_desc}')b on 1=1 " +
"where instr(a.user_name,b.keywords)>0";
LineageInfo lep = new LineageInfo();
lep.getLineageInfo(query);
for (String tab : lep.getInputTableList()) {
System.out.println("InputTable=" + tab);
}
for (String tab : lep.getOutputTableList()) {
System.out.println("OutputTable=" + tab);
}
}
执行结果:
InputTable=youni_contact_name_his_temp
InputTable=youni_contact_name_type_dim
OutputTable=youni_contact_name_his_temp2
分享到:
相关推荐
在本课程设计中,主题是“基于Antlr4的Hive SQL解析”,这涉及到了两个主要的技术领域:Antlr4和Hive SQL。Antlr4是一个强大的解析工具,用于生成解析器和词法分析器,它能处理各种语言的语法,包括SQL。而Hive SQL...
这个题目要求读者使用 HiveSQL 查询学生表、课程表和成绩表,找到"01"课程比"02"课程成绩高的学生的信息及课程分数。解决方法是使用 JOIN 语句将三个表连接起来,然后使用 WHERE 语句过滤出满足条件的学生信息和课程...
// 具有子查询的sql String hql = "select id,name from (select id from table_1 where id={p0}) t1 inner join (select name --this is name\n from table_2) t2"; // 获取id字段的血缘 LineageNode idNode = ...
它允许用户使用SQL-like语言(HiveQL)对分布式存储的数据进行查询和分析。本文将深入探讨Hive SQL如何被编译成MapReduce任务,以及在这个过程中涉及到的关键原理。 1. MapReduce实现基本SQL操作的原理: - **...
Hive是一个基于Hadoop构建的数据仓库分析系统,它提供了丰富的SQL查询方式来分析存储在Hadoop分布式文件系统中的数据。 Hive SQL支持绝大多数的语句,如DDL、DML、聚合函数、连接查询、条件查询等。 Hive不适合用于...
6. Jline包版本不一致的问题,需要拷贝hive的lib目录中jline.2.12.jar的jar包替换掉hadoop中的 /home/hadoop/app/hadoop-2.6.4/share/hadoop/yarn/lib/jline-0.9.94.jar 启动hive bin/hive ---------------------...
Hive作为Hadoop生态系统中的重要组件,为企业提供了对大规模数据集的高效处理和分析能力。它允许用户通过类似于SQL的查询语言(HiveQL)来操作分布式存储的数据,简化了MapReduce编程模型。本规范旨在指导开发者遵循...
3. **DQL(Data Query Language)**:用于查询和检索数据,是HiveSQL中最常用的部分,包含SELECT、FROM、WHERE、GROUP BY、JOIN等子句。 ### 第二部分:对数据库和数据表的操作 1. **数据库操作**:包括CREATE ...
在大数据处理领域,Hive是一个基于Hadoop的数据仓库工具,它允许用户使用SQL(称为HiveQL)查询存储在Hadoop分布式文件系统(HDFS)中的大型数据集。这篇博客深入探讨了Hive SQL的使用,帮助用户理解和掌握其核心概念...
利用Hive进行复杂用户行为大数据分析及优化案例(全套视频+课件+代码+讲义+工具软件),具体内容包括: 01_自动批量加载数据到hive 02_Hive表批量加载数据的脚本实现(一) ...17_Hive中使用Python脚本进行预处理
HiveSQL编译原理是大数据处理领域中的一个重要概念,它主要涉及到如何将用户提交的SQL语句转换为可执行的MapReduce或者Tez任务。在Hadoop生态系统中,Hive作为一个基于HDFS的数据仓库工具,提供了对大规模数据集进行...
- **背景**:Hive不支持直接使用`HAVING`关键字,但可以通过嵌套子查询并在外层查询中使用`WHERE`条件来实现类似的功能。 - **示例**:如果想实现如下标准SQL的`HAVING`查询: ```sql SELECT gender, COUNT(*) as...
Hive_Sql语法详述,平时工作中遇到的问题,用于Hadoop平台的数据挖掘。
Hive 是一个基于 Hadoop 的数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供简单的 SQL 查询功能,使不熟悉 MapReduce 的用户可以利用 SQL 语言进行数据查询,大大提升了数据分析的效率。...
- **WHERE 子句优化**:尽可能在 WHERE 孥中使用分区字段,以减少扫描的数据量。 2. **执行计划优化**: - **调整 Map 和 Reduce 任务的数量**:根据实际数据量和集群资源情况调整 map 和 reduce 任务数量。 - **...
与传统的关系型数据库类似,但在Hive中有其特殊之处。 ##### 示例 ```sql hive> CREATE TABLE pokes (foo INT, bar STRING); ``` 该命令创建了一个名为 `pokes` 的新表,并定义了两个字段:`foo` 类型为 `INT` 和 `...
在Hive中,实现两个表的Join操作通常涉及到以下步骤: - 在Map阶段,为来自不同表的数据打上标记(tag),这些标记会被添加到Map输出的Value中。 - 在Reduce阶段,根据标记来判断数据来源并进行相应的Join操作。 ...