草庐IT

hive-overwrite

全部标签

hadoop - 有关如何从 Hive 查询中设置 Hive 属性的示例

我需要一个快速示例来说明如何使用查询更改配置单元中的属性,例如,我想更改属性“mapred.reduce.tasks”,因此,如何在查询中执行此更改。我正在为HDPCD考试训练自己,考试的目标之一是“从Hive查询中设置Hadoop或Hive配置属性”所以我想这与在Hive控制台中执行类似的操作不同:setmapred.reduce.tasks=2; 最佳答案 要更改Hadoop和Hive配置变量,您需要在Hive查询中使用set。所做的更改将仅适用于该查询sessionset-v打印所有Hadoop和Hive配置变量。SETmap

hadoop - 从日期字段 Hive 获取星期几

需求是从日期字段中获取星期几,日期字段是"MM/dd/yyyy",需要转换成"yyyy-MM-dd"我认为可以使用Unix_Timestamp完成日期转换但是如何从修改日期字段中获取星期几?在这方面的任何帮助都是有用的 最佳答案 从Hive2.2.0开始,使用extract(fieldFROMsource)获取星期几。例如:selectextract(dayofweekfrom"2016-10-2005:06:07")结果为5。更多信息请引用日期函数手册:https://cwiki.apache.org/confluence/dis

json - Hive:json SerDe 文件在外部表中返回 "NULL"

我在亚马逊上有一个DynamoDB,其中包含一堆带有相关数据(用户、位置等)的推文。我通过管道导出了它并得到了一个json文件。将其导出为csv不是一个好主意,因为许多推文在文本字段中包含逗号。作为Hive的新手,我至少知道要加载json文件,我需要某种SerDe。这就是我创建表格的方式:createexternaltabletablename(idstring,created_atstring,followers_countstring,geostring,locationstring,polaritystring,screen_namestring,sentimentstring,

java - 当 string 在 HIVE 中隐式转换为 int 时会发生什么?

我在使用hive查询数据时遇到了如下这样的情况:选择'6455983054544699410'=6455983054544699395===>真所以我想知道在hive中将string隐式转换为int会发生什么?谢谢。 最佳答案 双方都在投加倍hive>select'6455983054544699410'=6455983054544699395;WARNING:Comparingabigintandastringmayresultinalossofprecision.OK_c0truehive>selectcast('6455983

sql - Hive 中是否有更简单的方法将不同的 JSON 键合并为一个?

我正在尝试使用Hive解析json字符串,我注意到某些值有两个不同的键,例如:get_json_object(json_string,'$.user_name')get_json_object(json_string,'$.User_Name')有没有办法检查一个或另一个键是否存在,然后将值插入到解析表中?我当前的脚本选择两者并插入到一个表中,然后另一个脚本检查其中一个键的值是否为空并执行casewhen语句。 最佳答案 selectcoalesce(get_json_object(json_string,'$.user_name'

hadoop - 如何在使用 SerDe 从 HIVE 中的列中删除引号时跳过表中的列

我面临与SERDE引用删除相关的问题。我有表格跟踪器。我必须从所有列中删除双引号,但必须跳过包含json(Product)的列。当我从CSV文件加载数据时,它还会从json数据中删除引号。CREATEEXTERNALTABLEIFNOTEXISTSTRACKER(SUBSCRIBERSTRING,SERIALSTRING,PRODUCTSTRING)ROWFORMATSERDE'org.apache.hadoop.hive.serde2.OpenCSVSerde'WITHSERDEPROPERTIES("separatorChar"=",","quoteChar"="\"","esca

hadoop - 外部表到 Hive 中的文件?

是否可以将LOCATION中的文件用于HIVE中的外部表?CREATEEXTERNALTABLEtable1(linestring)LOCATION'/hdp_in/fd/file.txt.gz';因为我得到一个错误:FAILED:ExecutionError,returncode1fromorg.apache.hadoop.hive.ql.exec.DDLTask.MetaException(message:Gotexception:org.apache.hadoop.fs.FileAlreadyExistsExceptionParentpathisnotadirectory:/hd

hadoop - 如何处理 Hive 中的分隔符

当值中有\t且分隔符也是\t时,我们如何处理Hive中的数据。例如,假设有一列为Street,数据类型为String,值为XXX\tYYY,在创建表时我们使用了字段分隔符为\t。分隔符将如何工作?在这种情况下,值中的\t是否也会被分隔? 最佳答案 如果具有\t值的列被引号字符括起来,例如"您可以使用csv-serde来解析数据,如下所示:这是我加载的示例数据集:R1Col1R1Col2"R1Col3MoreData"R1Col4R2Col2R2Col2"R2Col3MoreData"R2Col4从hive控制台注册jarhive>a

hadoop - 使用默认 SerDE 加载 Hive 表数据

数据格式如下a,"b,c",d,ep,q,"e,r",ta,s,"t,g",t我想创建一个Hive表第1列、第2列、第3列、第4列a,b,c,d,ep,q,e,r,ta,s,t,g,t如上所见,如果数据是用双引号括起来的,那么在创建表数据时就不需要考虑中间的逗号了。如果我使用默认的SerDe,双引号将被忽略,b、c被视为两个单独的列。如果封装在双引号中,如何确保双引号忽略两个元素之间的逗号 最佳答案 如果可能且可行,我首先建议您探索输入数据是否可以通过使用除逗号以外的其他方式作为字段分隔符来清理输入数据。使用数据中可能自然出现的定界

apache - 创建分区 View 时 Hive 出错

我有一个“日志”表,该表当前按年、月和日进行分区。我想在“日志”表的顶部创建一个分区View,但遇到了这个错误:hive>CREATEVIEWlog_viewPARTITIONEDON(pagename,year,month,day)ASSELECTpagename,year,month,day,uid,propertiesFROMlog;FAILED:SemanticException[Error10093]:RightmostcolumnsinviewoutputdonotmatchPARTITIONEDONclause创建分区View的正确方法是什么?