草庐IT

元中都

全部标签

json - 配置单元中的 Where 子句覆盖 JSON 数据

我在我的文件中使用JSON作为数组https://www.sitepoint.com/google-maps-json-file/.我使用JSONserde将数据导入表,因为它具有类似结构的数组,我们不能将JSON_TUPPLE和JSON_OBJECTUDF与数组一起使用,否则它会给出空值。我们不能在具有JSOn数据的HQL查询上使用where子句吗?因为每次我查询表时它都会提供完整的JSON数据,它不会过滤`hive>select*fromcomplex_jsonwheremarkers[1].point="4578"OK[{"point":"1233","hometeam":"La

sql - 为什么在配置单元中使用变量会增加 18k 映射器?

查询A:createtabletmp_testasselectexternal_idfrommy_eventswhereday>'2017-03-05'limit20;查询B:setFIRST_DAY='2017-03-05';createtabletmp_testasselectexternal_idfrommy_eventswhereday>'${FIRST_DAY}'limit20;为什么B使用18k映射器而A只使用160?这是正常现象还是只有我一个人得?附言。my_events按天划分。 最佳答案 在您的2ns查询中,变量没

hadoop - 是否可以在配置单元中执行 'normalized' dense_rank()?

我有一个这样的消费者表。consumer|product|quantity--------|-------|--------a|x|3a|y|4a|z|1b|x|3b|y|5c|x|4我想要的是分配给每个消费者的“标准化”排名,这样我就可以轻松拆分表格以进行测试和培训。我在hive中使用了dense_rank(),所以我得到了下表。rank|consumer|product|quantity----|--------|-------|--------1|a|x|31|a|y|41|a|z|12|b|x|32|b|y|53|c|x|4这很好,但我想扩展它以用于任意数量的消费者,所以理想情

hadoop - 在配置单元中过滤

我有一个配置单元表演示(idbigint,项目字符串),其中数据集是一组逗号分隔的字符串,如iddataset1,2,asd,as,a,12sda,saa,2,fds有没有一种native方法可以过滤掉非数字字符串并仅保留数字字符串,而不是分解表、过滤然后分组或编写我自己的UDF。iddataset12,122 最佳答案 selectid,regexp_replace(regexp_replace(dataset,'(?+----+-----+|id|c1|+----+-----+|1|2,1||2|2|+----+-----+

date - 验证日期在配置单元中是否有效?

我有日期列,格式为yyyyMMdd。我想检查日期是否有效。在informatica中,该函数可用作CASEWHENIS_DATE(TO_CHAR(DT),'YYYYMMDD')=0THENTO_DATE('99991231','YYYYMMDD')ELSETO_DATE(TO_CHAR(DT),'YYYYMMDD')END作为EFF_DT因为在hive中替代'is_date'函数不可用,如何在hive中实现相同的功能。 最佳答案 使用正则表达式:casewhenregexp_extract(date_column,'(19|20)[

hadoop - 我可以在创建表时在配置单元中一次使用 2 个字段终止符(如 ',' 和 '.' )吗?

我有一个包含id和year的文件。我的字段由、和.分隔。有没有可能我可以使用、和.来代替终止的字段? 最佳答案 这可以使用RegexSerDe实现。hive>CREATEEXTERNALTABLEcitiesr1(idint,city_orgstring,pplfloat)ROWFORMATSERDE'org.apache.hadoop.hive.serde2.RegexSerDe'WITHSERDEPROPERTIES('input.regex'='^(\\d+)\\.(\\S+),(\\d++.\\d++)\\t.*')LOCA

hadoop - 如何检查配置单元中的第一个非空值

如何检查hive中的第一个非空值例如。选择('',5)应该得到5选择(5,'')应该得到5Select('',NULL)应该返回NULL选择('','')应该得到''请帮忙,我知道合并将适用于查找第一个非空值。 最佳答案 将NULL转换为字符串'NULL',空为NULL并使用合并,然后转换回来.像这样:createtemporarymacroempty2null(sstring)casewhens=''thennullwhensisnullthen'NULL'elsesend;createtemporarymacroNULL2emp

hadoop - 使用 multidelimeter 在配置单元中插入数据

如何使用multidelimeter在hive中插入数据,并且列之间没有指定分隔符。下面是我的数据:25380201301012.514-135.6958.438.31.14.74.95.60.01C1.0-0.10.497.336.069.4-99.000-99.000-99.000-99.000-99.000-9999.0-9999.0-9999.0-9999.0-9999.025380201301022.514-135.6958.433.0-0.31.41.20.00.35C1.3-1.0-0.1100.089.598.2-99.000-99.000-99.000-99.000-

hadoop - 如何从配置单元中的日期中提取月份并将其按月分组

我有如下的Hive表,现在我需要按每个月的平均值对数据进行分组示例配置单元表:datamazonteslainfosysfacebookapple03/01/17753.67808.01216.9914.74116.8604/01/17757.18807.77226.9915.13118.6905/02/17780.45813.02226.7515.02120.6706/05/17795.99825.21229.0114.82123.41示例输出:monthamazonteslainfosysfacebookapple1782.2843.23548.8724.42143.352743.

hadoop - 如何在配置单元中添加具有静态值的动态列

我的表格结构如下:0:jdbc:hive2://vw118287.ds.dev.accenture.com>descsample2;Gettinglogthreadisinterrupted,sincequeryisdone!+-------------+------------+----------+--+|col_name|data_type|comment|+-------------+------------+----------+--+|event_text|string|||load_date|string||+-------------+------------+----