草庐IT

hadoop - 如何在 pig latin 中的 foreach 中使用过滤器运算符

我试图在foreach中使用FILTER运算符来过滤我的一些数据,但它抛出了一个错误。我正在使用以下查询:ctm_pm_v1_stg=LOAD'/datalake/uhc/ei/pi_ara/hive/warehouse/ctm_pm.db/ctm_pm_t1'USINGPigStorage('\u0001')AS(lob:chararray,day_phnno:chararray,eve_phnno:chararray,mbr_name:chararray,hic_no:chararray,contract_no:chararray,ctm_risk_category:chararr

hadoop - HIVE:UDF 错误失败:找不到类 <ClassName>

我正在尝试使用myjar.jar作为HIVE中的UDF函数,如下所示,echo"Addmyjar.jar"$HIVE_HOME/bin/hive-e"ADDJAR/gpfs/user/username/HIVE/myjar.jar;"echo"Listmyjar.jar,thisisshowinglocaldirectorypath"$HIVE_HOME/bin/hive-e"listjar;"$HIVE_HOME/bin/hive-e"dropfunctionifexistsmyfunction;"echo"Createtemporaryfunction,myclassnameisU

csv - 使用 pig 过滤 CSV 列

嗨,stackoverflow社区;我是pig的新手,我有一个CSV文件,其中包含5列标题,如下所示:专栏1|专栏2|专栏3|专栏4|column5测试1012|测试2045|测试3250|测试4865|test5110测试1245|测试2047|测试3456|测试4234|测试5221…………我只想对第1、3和4列进行排序,但我不知道如何按列标题进行过滤。如果您能指出可以完成我想做的事情的正确功能,那就太好了。谢谢! 最佳答案 假设您像下面这样加载它(假设它使用逗号作为分隔符),那么您可以只使用ORDERBY功能。myInput=

hadoop - 计算 PIG 中的平均值 |和其他东西

我是PIG的新手,因此是一个绝对的初学者。我有一个.txt文件,其条目如下所示:NameMatriculationNumberGradeNameofSubjectECTSJohnWilliam0789328322.7Research5JohnWilliam0789328322.3InternationalManagement10JohnWilliam0789328321.7Math5正如您所看到的,在文本文件中有许多关于同一个人但不同科目的条目(当然)不同的成绩。我想计算每个学生的平均成绩。对于示例数据,我必须执行以下操作才能获得平均成绩:(2.7*5+2.3*10+1.7*5)/20

hadoop - Apache Hadoop pig SPLIT 不工作。给出错误 1200

包的结构:emp=LOAD'...../emp.csv'usingPigStorage(',')AS(ename:chararray,id:int,job:chararray,sal:double)这个包包含员工的详细信息。我想根据工作拆分数据。Bag=splitempintomngrifjob=='MANAGER';这不工作并给予Error1200.如果我再添加一个条件,forex.-sal10kifsal,那么它正在工作。但为什么不只在一个chararray上?我是hadooppig的新手。了解一些基础知识。请帮忙。 最佳答案

hadoop - Pig - 分组后 MAX 不工作

我正在使用Pig0.12.1和Map-R。在对其他字段的关系进行分组后,我试图找到一个字段的ma​​x。在评论中引用以下pig脚本和关系结构-r1=foreachSomeRelationgenerateflatten(group)as(c1,c2);--r1:{c1:biginteger,c2:biginteger}r2=groupr1byc1;--r2:{group:chararray,r1:{(c1:chararray,c2:biginteger)}}DUMPr2;/*output-1234|{(1234,9876)}2345|{(2345,8765)}3456|{(3456,76

csv - Pig CSVExcelStorage 双引号逗号

我正在将csv格式的文件(字段以逗号分隔并用双引号引起来)接收到HDFS中,并开发了一个pig脚本,该脚本在我使用HQL脚本将数据插入Hive之前删除了标题行并去掉了双引号。这个过程一直运行良好;但是,今天我发现其中一个表存在数据问题。该表的文件特别有一个字符串字段,可以在双引号内包含多个逗号。这会导致某些记录的数据被错误地加载到Hive中的错误列中。我无法更改源文件的格式。目前我正在使用PiggyBankCSVExcelStorage来处理csv格式,如下所示。可以修改它以产生正确的结果吗?我还有哪些其他选择?我注意到现在还有一个CSVLoader,但还没有找到任何示例来说明如何使用

hadoop - 我们可以在 pig 中通过::分隔符拆分文件列吗

我正在尝试读取一个分隔符为双冒号(::)的文件。我正在使用CSVExcelStorage,但它给出的错误如下:couldnotinstantiate'org.apache.pig.piggybank.storage.CSVExcelStorage'witharguments'[::]'那么有什么方法可以使用自定义分隔符读取文件吗? 最佳答案 您可以使用PigStorage使用您的自定义分隔符。 关于hadoop-我们可以在pig中通过::分隔符拆分文件列吗,我们在StackOverflo

hadoop - pig 为什么叫批处理

pig是批处理的吗?如果是这样,请告诉我为什么它被称为批处理。它是批处理,因为它运行mapreduce。 最佳答案 在数据处理中,我们可以单独处理每条记录(带时间戳的记录称为事件)或处理称为批处理的记录集合。Pig执行批处理,因为它不会逐条处理输入记录,实际上Pig会将输入路径中的所有可用记录作为一批加载。MapReduce是为批处理而设计的数据处理框架,mapreduce是批处理的意思,但批处理不是mapreduce。 关于hadoop-pig为什么叫批处理,我们在StackOverf

scala - 尝试从 UDF 执行 spark sql 查询

我正在尝试使用scala在spark框架中编写一个内联函数,它将接受一个字符串输入,执行一个sql语句并返回一个字符串值valtestfunc:(String=>String)=(arg1:String)=>{valk=sqlContext.sql("""selectc_codefromr_c_tblwherex_nm="something"""")k.head().getString(0)}我正在将此Scala函数注册为UDFvaltestFunc_test=udf(testFunc)我在配置单元表上有一个数据框valdf=sqlContext.table("some_table")