草庐IT

hadoop - 使用 pig/hive 进行半结构化数据处理

我有如下所示的半结构化数据:col1col2col3col4123[name#aa,address#[perminentaddress#abc,currentaddress#xyg]]598[address#[perminentaddress#dev,currentaddress#pqr],name#bb]349[name#cc,mobile#111,id#66address#[perminentaddress#abc,currentaddress#xyg]]前三列是固定的,第四列可以包含任何带有键值对的未知数据。键值对可以嵌套,如上例所示。最重要的是第4列的键位置不固定,可以有无限数

hadoop - 如何使用 Hive、Pig 或 MapReduce 处理 "insert into values"?

我是hadoop和大数据概念的新手。我正在使用Hortonworks沙箱并尝试操作csv文件的值。所以我使用文件浏览器导入文件并在配置单元中创建一个表来做一些查询。实际上我想要一个“插入值”查询来选择一些行,更改列的值(例如将字符串更改为二进制0或1)并将其插入到新表中。SQLLIKE查询可能是这样的:Insertintotable1(id,name,'01')selectid,name,graduatedfromtable2whereuniversity='aaa'不幸的是,hive无法插入(常量)值(不从文件导入),我不知道如何使用hive、pig甚至mapreduce脚本来解决这

java - Pig - JsonMetadata - 找不到架构文件

当Pig在某些版本的pig上评估LOAD语句时,有一个主要的滞后时间。在切换Pig版本后(在集群升级期间),Pig的Grunt(以及通过文件脚本)在每个LOAD语句上花费30多秒。这与通常处理每个LOAD语句所需的在版本0.9.2(带有Java8)中,LOAD语句的处理时间不到1秒。但是在版本0.11.1和0.12.0中,加载语句的处理时间超过30秒,主线不同的是这条:[main]DEBUGorg.apache.pig.builtin.JsonMetadata-Couldnotfindschemafilefor/logs/visits/*/*visits_v15*.lzo直到命令处理完

hadoop - 无法将数据加载到 Pig 中的 Hortonworks 沙箱

嗨,我是hadoop的新手,当我第一次运行这个命令时LOAD'Pig/iris.csv'usingPigStorage(',')弹出错误:LOAD'Pig/iris.csv'usingPigStorage(',');2014-09-0506:04:04,853[main]INFOorg.apache.pig.Main-ApachePigversion0.12.1.2.1.1.0-385(rexported)compiledApr162014,15:59:002014-09-0506:04:04,885[main]INFOorg.apache.pig.Main-Loggingerrorm

hadoop - pig 本地模式溢出数据问题

我正在尝试解决这个问题,但无法理解。我的开发机器中的pig脚本在1.8GB的数据文件上成功运行。当我试图在服务器上运行它时,它指出它找不到本地设备来溢出数据spill0.out我修改了pig.property文件中的pig.temp.Dir属性以指向一个有空间的位置..错误:org.apache.hadoop.util.DiskChecker$DiskErrorException:无法为输出/spill0.out找到任何有效的本地目录那么如何找出pig溢出数据的位置,以及我们能否以某种方式更改pig溢出目录位置。我在本地模式下使用pig。任何想法或建议或解决方法都会有很大帮助。谢谢..

PIG 脚本中的 Ruby UDF

我在Pig脚本中使用Ruby用户定义函数(UDF)。现在的要求是在UDF中使用“bunny”gem,所以我在所有数据节点上安装了那个gem。但是当我在PigUDF中访问该gem时,它在那里不可用。通过本地脚本,我可以在每台机器上使用该gem,但无法通过Pig脚本访问它。有什么帮助吗? 最佳答案 现在,我遇到了问题。Pig使用Jython和JRuby库来编译python和ruby​​udfs。所以如果我们单独在从节点上安装额外的模块没有任何区别。更好的方法是在这些场景中使用pig流功能。

hadoop - elephant-bird-pig-JsonLoader() 所需的 jar

使用elephant-bird-pig-JsonLoader函数需要注册哪些jar? 最佳答案 我指着一些jar。注册'elephant-bird-pig-4.1.jar';注册'elephant-bird-core-4.1.jar';注册'elephant-bird-hadoop-compat-4.1.jar'; 关于hadoop-elephant-bird-pig-JsonLoader()所需的jar,我们在StackOverflow上找到一个类似的问题:

python - Pig脚本无法注册UDF

我有一个简单的Pig脚本,它使用我创建的PythonUDF。如果我删除UDF部分,脚本可以正常完成。但是当我尝试注册我的UDF时,出现以下错误:ERROR2997:EncounteredIOException.Filepig_test/py_udf_substr.pydoesnotexist这是我的UDF:@outputSchema("chararray")defget_fistsn(data,n):returndata[:n]这是我的Pig脚本:REGISTER'pig_test/py_udf_substr.py'USINGjythonaspyudf;A=load'pig_test/

hadoop - 如何在后台运行 pig 脚本?

很多时候我必须在服务器上运行多个pig脚本。我的大部分脚本大约需要30分钟才能完成。我不想等到一个脚本完成后再启动另一个脚本。那么,我可以在gruntshell中同时运行多个脚本吗?或者在后台运行pig脚本并启动另一个pig脚本(类似于nohup)? 最佳答案 在终端中运行以下命令,nohuppig/home/mypigscript.pig&mypigscript.pig将包含pig命令。经过多次试验和错误后找到解决方案:) 关于hadoop-如何在后台运行pig脚本?,我们在Stack

hadoop - 将值附加到 PIG 变量

我需要将一个值附加到PIG中声明的变量。%declareDESC'测试/nimmiv/pig'raw=LOAD'test.log'USINGPigStorage('\t')AS(a1:chararray,a2:chararray,a3:long);/*做任何PIG处理*/value=FOREACHrawGENERATE$0;TMP=FOREACHrawGENERATE$1ASpath;PATH=不同的TMP;/*dumpPATH只会给我(tmp),我需要将此值附加到现有值Test/nimmiv/pig=>Test/nimmiv/pig/tmp*/将值存储到“$DESC/$PATH”中;