我无法完成查询建模,因此需要帮助。我的数据是:idnameschoolheight1AS1102BS1123CS1144DS2155ES2166FS217我想选择每个学校的姓名和中位数高度的姓名。预期输出:idnameschoolmyval1AS1B2BS1B3CS1B4DS2E5ES2E6FS2E在这里,B的高度是S1学校的中位数,E是S2的中位数。我知道我们可以使用百分位数获得中位数。但我无法弄清楚如何选择每个分区的值。 最佳答案 下面的查询将起作用:-selecttemp1.id,temp1.name,temp1.school
我在impalaselect*fromtable中有一个sql查询,但是当我执行这个时,某些列丢失了。而当我执行describetable时,那些列就在那里。我无法显示该代码段,但未显示的类型是映射、数组和结构。 最佳答案 Impala不支持。复杂类型必须解包才能显示。TheresultsetofanImpalaqueryalwayscontainsallscalartypes;theelementsandfieldswithinanycomplextypequeriesmustbe"unpacked"usingjoinquerie
我有一个格式为(#,title,year,rating,duration)的电影列表:1,TheNightmareBeforeChristmas,1993,3.9,45682,TheMummy,1932,3.5,43883,OrphansoftheStorm,1921,3.2,90624,TheObjectofBeauty,1991,2.8,61505,NightTide,1963,2.8,51266,OneMagicChristmas,1985,3.8,53337,Muriel'sWedding,1994,3.5,63238,Mother'sBoys,1994,3.4,57339,N
我的表中有时间戳和日期列。我的日期和时间戳列是字符串类型。我需要将其转换为DATE和TIMESTAMP格式。但我数据中的格式是2/4/20173:03。因此,当我将其转换为TIMESTAMP数据类型时,它会给出NULL。我们可以做些什么来解决这个问题?这是我的示例日期和时间列数据。2/3/201723:372/3/201723:372/3/201723:402/3/201723:502/3/201723:512/3/201723:532/3/201723:552/4/20170:082/4/20170:57提前致谢 最佳答案 cre
我想将数组转换为数组字符串,这样["2016-06-02","2016-06-02"]变成2016-06-02|2016-06-02 最佳答案 使用concat_ws(stringdelimiter,array)连接数组的函数:selectconcat_ws(',',collect_set(date))fromtable;如果日期字段不是字符串,则将其转换为字符串:concat_ws(',',collect_set(cast(dateasstring))) 关于hadoop-如何在Hiv
执行以下Hive查询的大概数字是多少:SELECTCOUNT(*)FROMTABLE;对于下表:行数:~80亿列数:40,各种大小的int、double和stringHDFS上的大小:~400Gb我想将任何大概数字与真实数字进行比较,以查看系统配置是否正确。如果我错过了一些重要的事情,我深表歉意,我是Hive和Hadoop的新手。此外,如果机器数量也按比例增加,执行时间是否会与行数成线性比例? 最佳答案 提供大概数字是不可能的。但是我们可以列出影响因素:集群中配置的MapTask数量block大小(决定将使用的映射器的数量)执行时间
我有大量数据,其中一个字段类似于WedSep1519:17:44+01002010,我需要将该字段插入到Hive中。我为选择数据类型而烦恼。我尝试了时间戳和日期,但从CSV文件加载时得到空值。 最佳答案 数据类型是字符串,因为它是文本。如果你想转换它,我建议使用TIMESTAMP。但是,您需要在加载数据时或之后(甚至更好)自己进行此转换。要转换为时间戳,可以使用以下语法:CAST(FROM_UNIXTIME(UNIX_TIMESTAMP(,'FORMAT'))asTIMESTAMP)虽然您的格式看起来很复杂。我的建议是将它作为字符串
Hive中的以下代码是否可能,并进行一些更改?:insertintotablewebmapselecta.resreference,b.resresource,(selectcount(ip)fromweblogwhereresource=a.resandreferer=b.res)weightfromtoprefresajointoprefresb;我在hive-0.10.0-cdh4.5.0中运行它并得到错误:FAILED:ParseExceptionline3:1cannotrecognizeinputnear'select''count''('inexpressionspeci
我已经编写了一个查询来在Impala中创建一个View。该View包含一个字段record_date,它是格式为yyyy-MM-ddhh:mm:ss的字符串数据类型。在尝试执行使用date_sub('2014-01-3000:00:00',1)提取先前日期记录的查询时,我收到如下错误:错误:与impalad通信时出错:TSocket读取0个字节。如果我尝试对创建的表而不是View执行相同的查询,我会得到正确的输出。感谢任何帮助。谢谢 最佳答案 这是一个错误,请升级到最新版本的Impala,因为它似乎从1.2.3开始就已修复,这是很旧
我看到很多人问过这种类型的问题,但这些解决方案对我不起作用。我创建了一个外部配置单元表,因为我的数据来自仅限map的作业输出。然后,通过加载命令我给出了特定文件的路径。它显示正常。但是当我给出select*fromtable命令时,它会返回一些具有空值的列。我执行的每个命令都在错误图片中。我在文件中的分隔符是||,所以我在创建表命令中也提到了同样的内容。这是我的输入文件图片filepic.这是errorpic.我也尝试过普通表而不是外部表。那也显示了同样的错误。我还尝试将定界符称为//||和\|\|。但没有一个奏效。 最佳答案 您面