【发布时间】:2017-06-13 11:37:42
【问题描述】:
我正在编写一个 hive 查询来连接两个表;表 1 和表 2。结果,我只需要 table1 中的所有列,而 table2 中没有列。
我知道可以通过在 select 语句中指定 table1.column1、table1.column2.. 等手动选择所有列的解决方案。但是我在表 1 中有大约 22 列。此外,我必须对其他多个表做同样的事情,因为它的过程很痛苦。
我尝试使用“SELECT table1.*”,但出现解析异常。
有没有更好的方法?
【问题讨论】:
-
你能帮我吗?你说你加入了两个表,table1 和 table2,然后你说你想要 table1 中的所有列,而不是 table2 中的列。那你为什么加入?
-
我可能很困惑,但你能帮我理解你的问题吗?
-
你应该可以做一个table1.*,你能提供堆栈吗?
-
@AnkurKumar.. 由于 Hive 不允许删除,因此我正在执行此连接(并使用结果创建新表)以从 table1 对应的 table2 中删除条目。所以我创建的新表包含表 1 中的行减去表 2 中的行(与表 1 匹配)。我希望我能理解。
-
你能提供完整的查询吗?它会有所帮助:)