问题标签 [hiveql]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
hadoop - 使用 cassandra 存储处理程序创建外部配置单元表时出错
失败并出现异常 org.apache.hadoop.hive.ql.metadata.HiveException:加载存储处理程序时出错。org.apache.hadoop.hive.cassandra.CassandraStorageHandler 失败:执行错误,从 org.apache.hadoop.hive 返回代码 1 .ql.exec.DDLTask
hadoop - Hive 不支持,存在。如何编写以下查询?
我有两个表 A 和 B 都有一个列 ID。我希望从 A 获取 B 中不存在的 ID。显而易见的方法是:
不幸的是,Hive 不支持 in、exists 或 subquery。有没有办法使用连接来实现上述目标?
我想到了以下
但似乎这将返回整个 A,因为 B 中总是存在一个不等于 A 中的任何 id 的 id。
hadoop - if-else 中的块语句
Hive 支持条件语句 - https://cwiki.apache.org/Hive/languagemanual-udf.html#LanguageManualUDF-ConditionalFunctions
但是,我希望使用块条件语句。例如,我有两个表 A 和 B 具有相似的列(尽管列名不相同)。我希望从 A 和 B 创建一个新表,以便 B 具有更高的优先级。因此,如果 B 中存在一行,我希望从 B 中选择它,否则从 A 中选择该行。即
上面的查询不起作用。是因为 Hive 不支持块条件语句吗?如何实现上述功能?
hive - 在 Hive 0.11 中将分析函数包装在另一个函数中
我正在尝试以下操作:
选择 ta_end_datetime_berekenen = 'Y' 然后领先(ta_update_datetime)超过(按 dn_waarde_van 分区,按 ta_update_datetime 排序的 dn_waarde_tot 顺序)否则 ea_end_datetime 结束 ea_end_datetime、ta_insert_datetime、ta_update_datetime 来自 tmp_wtdh_bestedingsklasse_10_s2_stap2
但是,当我尝试这样做时,出现以下错误:
NoViableAltException(86@[129:7: ( ( ( KW_AS )? identifier ) | ( KW_AS LPAREN identifier ( COMMA identifier )* RPAREN ) )?])
失败:ParseException 行 1:175 在选择目标行 1:254 的 'over' 附近缺少 KW_END 无法识别选择目标中的 'else' 'ea_end_datetime' 'end' 附近的输入
假设不可能将分析函数包装在另一个函数中,我是否正确?
这是 Hive 0.11。
hive - 在此行的数组中分组配置单元行
我有一张如下表:
我想将用户的所有别名分组到一个数组中,在一个看起来像这样的新表中:
我不知道如何用 HiveQL 做到这一点。我必须为此编写一个 UDF 吗?
谢谢 !
hive - 从 tableau 连接时无法查看在 hive 中创建的数据库。
我在 hive 中创建了一个示例数据库并在其中创建了一些示例表。当我从我的 BI 工具“Tableau”连接到 Hive 时,我无法查看创建的数据库。仅显示默认数据库。谁能帮我解决这个问题,以便我可以访问 Tableau 中新创建的数据库。
谢谢你,Divya Teja Y。
sql - 在过去的日期范围内运行查询
我有一个相当有趣的问题,我最初认为它是直截了当的,但结果却更加复杂。
我有这样的数据:
每行都有一个日期、用户 ID 对,表示该用户在当天处于活动状态。一个用户可以出现在多个日期,一个日期将有多个用户——就像在示例中一样。我有数百万行这样的行,涵盖大约 90 天的时间范围。
问题是:对于每一天,我想获取过去 10 天未活跃的用户数量。例如,如果用户“a”在 2012 年 5 月 31 日活跃,但在 06 月 1 日到 06 月 10 日之间的任何一天都没有活跃,我想在 6 月 10 日统计这个用户。除非他变得活跃并再次消失,否则我不会在接下来的几天里再次数他。
我可以在 SQL 中执行此操作,还是需要某种脚本以我想要的方式组织数据。你有什么建议?我使用蜂巢。
太感谢了!
hadoop - 使用 SquirrelSQL 客户端连接到 Hive 服务器
我正在尝试将SquirrelSQL 客户端连接到Hive。
我在 virtualbox 上的 Debian 7.0 VM 上运行 Hadoop/Hive。
Hive 服务器在线,当我用笔记本电脑客户端 ping 虚拟机时,虚拟机正在响应,没关系。
然后,我尝试使用 SquirrelSQL 连接到 Hive。
我正在使用与这篇文章相关的Amazon JDBC 驱动程序:Access Hive Tables in SQLClient but not from the Putty
连接正常,但是,我的唯一表(付费)在客户端中不可见(根本没有表!),当我尝试通过简单查询选择我的唯一表时:SELECT * FROM pays;
我收到此错误:
我在网上寻找一个问题,但我没有找到任何东西。
感谢您的帮助 =)
ps:对不起我的英语不好...
hadoop - 使用 HDFS 更改更新 Hive 外部表
可以说,我从文件 myFile.csv(位于 HDFS 中)创建了 Hive 外部表“myTable”。
myFile.csv 每天都在更改,然后我也有兴趣每天更新一次“myTable”。
是否有任何 HiveQL 查询告诉每天更新表?
谢谢你。
附言
我想知道它是否与目录的工作方式相同:假设我从 HDFS 目录“myDir”创建 Hive 分区,而“myDir”包含 10 个文件。第二天“myDIr”包含 20 个文件(添加了 10 个文件)。我应该更新 Hive 分区吗?
hadoop - Hive内部表和外部表的区别?
谁能告诉我 Hive 的外部表和内部表之间的区别。我知道放下桌子时会有所不同。我不明白您的意思是数据和元数据在内部被删除,而只有元数据在外部表中被删除。任何人都可以用节点来解释我吗?