草庐IT

regex_search

全部标签

分布式搜索引擎(Elastic Search)+消息队列(RabbitMQ)部署(商城4)

一、分布式搜索引擎:ElasticSearchElasticSearch的目标就是实现搜索。是一款非常强大的开源搜索引擎,可以帮助我们从海量数据中快速找到需要的内容。在数据量少的时候,我们可以通过索引去搜索关系型数据库中的数据,但是如果数据量很大,搜索的效率就会很低,这个时候我们就需要一种分布式的搜索引擎。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTfulweb接口。Elasticsearch结合kibana、Logstash、Beats,也就是elasticstack(ELK),被广泛应用在日志数据分析、实时监控等领域。而elasticsearch是elasticstack的核心

pig 的 REGEX_EXTRACT 不起作用

我想从每个字段的开头和结尾删除双引号'"'。我正在尝试在pig身上应用正则表达式,但似乎不起作用输入:(main_170521230001.csv,"9","2017-05-2123:00:01.472636")(main_170521230001.csv,"91","2017-05-2123:00:01.472636")(main_170521230001.csv,"592","2017-05-2123:00:01.472636")pig脚本:raw=LOAD'/data/csv'usingPigStorage(',','-tagFile')as(fn:chararray,gid:c

hadoop - 如何向 Elastic Search 数据库添加计算?

我正在使用ElasticSearch为大量传感器数据编制索引以用于分析目的。该表有超过400万行并且增长迅速-预计明年将达到4000万。这使得ElasticSearch看起来很自然,尤其是使用Kibana等工具可以轻松显示数据。ElasticSearch看起来很棒,但是还必须执行一些更复杂的计算。一种这样的计算是针对我们的“平均用户时间”,我们在其中获取两个数据点(元素拾取的时间戳和元素放回的时间戳),将它们相互减去,然后对一个特定客户的所有这些进行平均具体时间范围。SQL查询看起来像“select*fromeventswhereevent_type='objectpickedup'o

regex - 如何使用 Pig 识别数据中的 '\N' 字符

我的数据中出现了非常奇怪的字符“\N”。我想从数据中删除或替换这个字符。以下是数据示例:GirlsShoes,1325051884\N,\NMen'sShirts,\N分隔符:逗号(,)我尝试了几种方法来替换/识别这个\N字符但没有用。 最佳答案 在Pig中,位置符号用美元符号($)表示并以零(0)开头;例如,$0、$1、$2。因此,在上述数据中,第一个字段由$0标识(例如“女鞋”),第二个字段由$1标识(例如1325051884)。以下脚本具有替换'\N'的逻辑:A=LOAD'/data.txt'USINGPigStorage('

regex - 文件名的一部分作为 Hive 表中的列

我想将文件名的第一部分作为Hive表中的一列Myfilenameis:20151102114450.46400_Always_1446482638967.xml我在MicrosoftAzure的Hive中使用正则表达式编写了一个查询(查询下方)以获取它的第一部分,即20151102114450但是当我运行查询时,我得到的输出为20151102164358selectCAST(regexp_replace(regexp_replace(regexp_replace(CAST(CAST(regexp_replace(split(INPUT__FILE__NAME,'[_]')[2],'.x

regex - 使用 RegexSerDe 在 Hive 中创建 DDL 时出错

我有分隔符为“,|”的数据。我按如下方式创建了配置单元DDL:CREATETABLEplayer_profile(player_idBIGINTCOMMENT'PlayerProfileIdentifier',change_tsSTRINGCOMMENT'ChangeDatetime',child_birth_yearINTCOMMENT'ChildBirthYear',countrySTRINGCOMMENT'CountryCode',)ROWFORMATSERDE'org.apache.hadoop.hive.contrib.serde2.RegexSerDe'WITHSERDEP

regex - 使用点 '.' 的拆分无法使用 hive -e ""即使在放置双斜线之后

我使用以下查询来解析以点('.')分隔的数据。从配置单元控制台触发时,以下查询工作正常。我得到了这样的正确值:v=WijimLM4Khb5YUVrh7kl4bOWxYtIOtZwTRJ13977555161397755721139775573919但是当我使用hive-e""使用相同的查询时。它无法解析数据,解析列结果为空。nullnullnullnullnullnullnull查询:selectsplit(regexp_extract(cookie,'v=[^&\n\;\"]*',0),'\\.')[0],split(regexp_extract(cookie,'v=[^&\n\;\

search - 使用 hadoop 进行日志搜索

我们在需要实时搜索的多个Web服务器上有巨大的日志文件(~100秒的Gigs)。这些日志文件由不同的应用每秒写入多次。为此,我们最近在一些服务器上安装了一个hadoop集群。为了实现对这些日志的搜索,我想到了这样的设计:在web服务器上运行一个进程,它创建一个日志的倒排索引并将其缓存在内存中(在web服务器本身上)并通过flume推送到HDFS当缓存已满时存储在Hive中(这很像LRU缓存)。这在搜索某些内容时有两种帮助:最近的日志从内存缓存中返回并且速度很快,而较旧的日志从磁盘返回。并且由于用户希望首先查看最新日志,因此该技术有效。有人可以验证此设计是否可以正常工作和缩放。周围有更好

hadoop - EMR : how to include semicolon in regex argument of EXTRACT function 上的 pig

我正在处理Pig中的一些数据,其中包括感兴趣的字符串,可以选择用分号分隔并以随机顺序排列,例如test=12345;foo=bartest=12345foo=bar;test=12345以下代码应提取测试“键”的字符串值:blah=FOREACHdataGENERATEFLATTEN(EXTRACT(str_of_interest,'test=(\\S+);?'))AS(test:chararray);但是,在运行代码时,我遇到了以下错误:mismatchedcharacter''expecting'''2013-04-1604:46:05,245[main]ERRORorg.apac

regex - 使用正则表达式匹配日志文件行时的可选字段

我正在尝试使用RegexSerDe通过正则表达式解析网络日志.它通过将每个正则表达式组与表中的列匹配来工作,如果正则表达式组为空,它会为该列分配一个空值。我在匹配缺少字段的日志行时遇到问题。此日志中有两种行:2016-10-23T23:59:59Zcache-iad2134fastly[502801]:52.55.94.131"-""-"Sun,23Oct201623:59:59GMTGET/apps/events/2016/10/11/3062653/?REC_ID=3062653&id=02002016-10-23T23:59:59Zcache-dfw1835fastly[5028