sql - Hive 查询等价于 sql

标签 sql hadoop hive hql hdfs

嗨,我有一个表学生如下:

student_id course_id
1111       100
2222       101
3333       101
4444       102
5555       103

类(class)表如下:
course_id course_desc
100       Electronics
101       Computer
102       Mechanical

如果我想加入上述 2 个表,我有来自学生表的 course_id,它没有在类(class)表中列出。因此,每次我加入时,我都应该将 course_id 与类(class)表进行比较,并知道学生表中有一个新的 course_id。

我相信我们可以使用 Sql,例如:
select DISTINCT course_id from students WHERE course_id NOT IN ( select course_id FROM courses);

如何在 Hive 中完成此操作,非常感谢任何帮助或建议。

最佳答案

这应该有效:

select students.course_id from students students LEFT OUTER JOIN courses courses  ON (students.course_id = courses.course_id) where courses.course_id is null;

我认为不支持 NOT IN,因此可以解决此问题。

关于sql - Hive 查询等价于 sql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24528641/

相关文章:

SQL Server 不会将触发器事务回滚到保存点

mysql - iReport 说 'The document has no pages'

Hadoop avro 正确的 jar 文件问题

hadoop - Hive 容器运行超出物理限制

mysql - SQL 从帖子中搜索 #hashtag

MySQL查询不使用主键,我不明白为什么

Hadoop 备用 SSH key

hadoop - Hive Solr存储处理程序Httpclient错误

mysql - 为什么在从 hive 导出到 mysql 期间,sqoop 在数字列的 NumberFormatException 上失败

javascript - 如何对 Hive 生成​​的平面文件运行即席 SQL 查询?