草庐IT

hive-overwrite

全部标签

hadoop - 我们如何在 Hive 中实现货币转换?

我想将所有员工的工资转换成美元假设我有一个Hive表'emp'idnamecurrency_codesalary_as_per_currency_code100SurenderEUR10101RajaINR100102AjayUSD5我需要写一个选择查询来得到下面的结果我的预期输出是idnamecurrency_codesalary_as_per_currency_codesalary_in_USD100SurenderEUR10$10.92101RajaINR100$1.496102AjayUSD5$5我的表格有更多Currency_code,例如NZD、CAD、JPY等等。hive

Hadoop 3.0.0的集群搭建和Hive 3.1.3的安装

Hi,朋友们,我们又见面了,这一次我给大家带来的是Hadoop集群搭建及Hive的安装。说明一下,网上有很多的教程,为什么我还要水?第一,大多数的安装都是很顺利的,没有疑难解答。第二,版本问题,网上的搭建在3以前的比较多。第三,我想给出一个更简洁的安装教程,把道理说明白,让读者就算在安装的过程中遇到问题也知道问题出在哪,应该朝哪个方向去要解决方案。Hadoop-3.0.0的集群搭建hadoop集群的安装,关键在主节点,主节点配置好以后,将主节点复制到其他做数据节点的服务器上就不用管了。我有三台服务器,ip分别是192.168.12.71,192.168.12.200,192.168.12.20

performance - 使用 Hive 日期函数而不是硬编码日期字符串时,Hive 查询性能很慢?

我有一个每天更新的事务表table_A。每天我都会使用file_date字段从外部table_B将新数据插入table_A以从外部table_B过滤必要的数据>插入到table_A。但是,如果我使用硬编码日期与使用Hive日期函数,则性能会有很大差异:--Fastversion(~20minutes)SETdate_ingest='2016-12-07';SEThive.exec.dynamic.partition.mode=nonstrict;SEThive.exec.dynamic.partition=TRUE;INSERTINTOTABLEtable_APARTITION(FIL

sql - 改变 hive 中的现有 map

我有一个配置单元表,其中一列为map数据类型。map>现在我想在结构值中添加一列,如下所示:map>任何人都知道如何实现这一目标。提前致谢。 最佳答案 https://cwiki.apache.org/confluence/display/Hive/LanguageManual+DDL#LanguageManualDDL-ChangeColumnName/Type/Position/Commentaltertabletchangecolumnmycolmycolmap>;请注意,默认情况下只有新分区会受到更改的影响。如果您希望它应用

sql - 排序行时优化 Hive GROUP BY

我有以下(非常简单的)Hive查询:selectuser_id,event_id,min(time)asstart,max(time)asend,count(*)astotal,count(interaction==1)asclicksfromevents_allgroupbyuser_id,event_id;表格结构如下:user_idevent_idtimeinteractionEx833Lli36nxTvGTA1DvjuCUv6EnkVundBHSBzQevw14304815302950Ex833Lli36nxTvGTA1DvjuCUv6EnkVundBHSBzQevw14304

sql - 错误 :Invalid table alias or column reference while using map in Hive

我正在执行以下配置单元查询:createorreplaceviewtest.hospasselectp.hosp_id,p.hosp_name,max(casewhen`p.my_map[1].id`isNULLthen1else0end)ashos_main_idfromarch.hospitalgroupbyp.hosp_id,p.hosp_name,p.my_map[1].id;Error:Invalidtablealiasorcolumnreference'p.my_map[1].id'.有map名称my_map>,那为什么我仍然收到错误消息:Error:Invalidtabl

csv - 将 csv 文件的全部内容加载到 Hive 表中的单个列中

在Hive相关问题上需要一些帮助。我正在尝试将整个csv文件加载到单列Hive表中。文件中的每个条目都应该是Hive表中的一行。我试图更改ROWFORMAT-特别是尝试更改为LINESTERMINATEDBY','而不是'\n'。但是,目前仅支持'\n'字符。目前这是一个JIRA问题(https://issues.apache.org/jira/browse/HIVE-11996)。我目前唯一的想法是通过linux命令用\n替换文件中的逗号,但是我想看看是否有人可以提出一些其他值得考虑的解决方案。提前致谢! 最佳答案 您可以在Hiv

hadoop - 具有 unix 时间戳的 Hive float 据类型

我正在使用float数据类型的hive外部表(错误地)来存储Unix纪元时间戳。当我在配置单元外部表上发出where子句时,它会返回一些奇怪的结果。举个例子。selectevent_timefromtbl_namewhereevent_time=1478649561limit10输出:1478649600任何人都可以帮助我理解这里有什么问题吗? 最佳答案 这与其说是Hive问题,不如说是浮点精度的一般问题。您将看到1478649561(整数类型)在浮点表示中被近似以适应32位Java浮点类型的效果。为了在Hive上下文之外以更简单的

hadoop - Hive修改分区表数据

问题:一列值为空。它应该是'ab'。不幸的是我写了''而不是'ab'。我的表是分区表。有什么办法可以改变吗?我找到了下面的方法。但它似乎效率低下。像我的表一样创建一个临时表使用插入覆盖。从我的旧表中读取数据并写入新表。我正在使用case语句将''更改为'ab'然后将我的临时表更改为原始表。我正在寻找类似更新分区和msck的解决方案。有什么办法吗? 最佳答案 您可以通过这种方式覆盖单个分区:sethive.exec.dynamic.partition=true;sethive.exec.dynamic.partition.mode=n

hadoop - 错误 : while processing statement: FAILED: Hive Internal Error: hive. mapred.supports.subdirectories 必须为真

我遇到了一个错误Errorwhileprocessingstatement:FAILED:HiveInternalError:hive.mapred.supports.subdirectoriesmustbetrueifanyoneoffollowingistrue:hive.optimize.listbucketing,mapred.input.dir.recursiveandhive.optimize.union.remove.当我尝试从HDFS目录递归加载数据到hive表时发生此错误我尝试设置以下参数:SETmapred.input.dir.recursive=true;SETh