草庐IT

PIG_HOME

全部标签

sql - 在 Hive 或 Impala 或 Pig 中通过字符串匹配连接表

我有两个表A和B,其中B很大(2000万乘以300)和A大小适中(300kx10)。A包含一列地址,B包含3列,它们可以放在一起形成正确的街道地址。例如,在A中,地址列可以是:id|Address-----------233|123MainSt在B中我们可以:Number|Street_name|Street_suffix|Tax------------------------------------------------123|Main|Street|320.2我想使用类似于LIKE的字符串匹配来加入它们,如下所示:selectA.id,B.TaxfromAleftjoinBonA

hadoop - 更好地从 Hive 或 Pig 中的平面文件读取?

无法在任何地方找到关于此的直接答案。我正在将一个传入的数据集连接到几个以前位于Web服务后面的MySQL表中的大表。我将表转储到Hadoop中的平面CSV文件,并使用Pig加载传入的数据集和表文件,并执行连接。进展缓慢,因为有多个表文件要连接,而且文件本身非常大。我只是想在单个字段上加入LEFTOUTER,没什么特别的。所以,我的问题是,将CSV文件加载到Hive表中并在Pig中使用HCatLoader而不是仅加载CSV文件是否有任何性能优势?除了类似SQL的接口(interface)来查询表之外,Hive似乎没有提供任何好处,当我只是将数据集加入整个事物时,这并不重要。

hadoop - 启动 Hadoop DFS - $HADOOP_HOME/bin/hdfs 中没有这样的文件或目录?

我正在设置单个Hadoop节点,但是在运行$HADOOP_HOME/sbin/start-dfs.sh时它打印出找不到$HADOOP_HOME/bin/hdfs。虽然那个位置的文件存在,但我可以很好地阅读它。从start-dfs.sh脚本记录:root@hadoop:/opt/hadoop-2.7.3#sbin/start-dfs.shError:Couldnotfindorloadmainclassorg.apache.hadoop.hdfs.tools.GetConfStartingnamenodeson[]localhost:startingnamenode,loggingto/

hadoop - 在 pig 中分离元组的元组

我得到的结果是元组的元组形式。我需要将一个元组中的所有数据放入一列,将其他数据放入另一列。我不知道如何实现这一目标。以下是我的数据。示例:((completed,completed,completed,completed,completed,completed,completed,completed,completed,completed,completed,completed,completed,completed,completed,completed,completed,completed,completed),(10160-0),(20140403,20151207,20160

hadoop - Pig HCatLoader java.lang.String 无法转换为 org.apache.hadoop.hive.common.type.HiveVarchar

我有下面的外部配置单元表,稍后我将使用它进行处理。CREATEEXTERNALTABLEhive_test_table(cmp_dteDATE,my_indCHAR(1),typ_descVARCHAR(40),def_typ_descVARCHAR(60),tt_indCHAR(1),nn_nmVARCHAR(80),xzs_descVARCHAR(60),pqa_descVARCHAR(40),aac_cntINT,pqdd_cntINT,nnc_cntINT,ors_amtDECIMAL(18,2),rddd_amtDECIMAL(18,2),btdff_idBIGINT,fil

mongodb - 使用 Pig 将 HDFS 数据存储到 MongoDB

我是Hadoop新手,需要将Hadoop数据存储到MongoDB中。这里我使用Pig将Hadoop中的数据存储到MongoDB中。我下载并注册了以下驱动程序,以便在给定命令的帮助下在PigGruntshell中执行此操作,REGISTER/home/miracle/Downloads/mongo-hadoop-pig-2.0.2.jarREGISTER/home/miracle/Downloads/mongo-java-driver-3.4.2.jarREGISTER/home/miracle/Downloads/mongo-hadoop-core-2.0.2.jar在此之后,我使用以

hadoop - Map Reduce 已完成但 pig 作业失败

我最近遇到了这种情况,其中MapReduce作业似乎在RM中成功,其中PIG脚本返回退出代码8,表示“Throwablethrown(意外异常)”按要求添加脚本:REGISTER'$LIB_LOCATION/*.jar';--setnumberofreducersto200SETdefault_parallel$REDUCERS;SETmapreduce.map.memory.mb3072;SETmapreduce.reduce.memory.mb6144;SETmapreduce.map.java.opts-Xmx2560m;SETmapreduce.reduce.java.opts

csv - 如何将 pig 输出存储到配置单元表?

我在Azure上有HDInsight集群,在hdfs(Azure存储)中有.csv文件。我想使用apache-pig处理这些文件并将输出存储在配置单元表中。为此,我编写了以下脚本:A=LOAD'/test/input/t12007.csv'USINGPigStorage(',')AS(year:chararray,ArrTime:chararray,DeptTime:chararray);describeA;dumpA;storeAinto'testdb.tbl3'usingorg.apache.hive.hcatalog.pig.HCatStorer();此脚本成功加载文件,描述结构

hadoop - 如何从 .t​​sv 文件加载 Pig 中的数据?

我有一个.TSV文件,其中包含HDFS中的数据,但我无法将其加载到Pig中。我使用的命令是“A=load'file_location'as(name:chararray,age:int,gpa:float);B=foreachAgenerate(name,age);DUMPB;Errorreturned:UnabletofindoperatorforaliasA 最佳答案 如果您不指定分隔符PIG使用默认的“,”作为加载文件的分隔符。因此您的加载语句失败。您必须明确指定分隔符“\t”。A=LOAD'file_location'USI

hadoop - 没有在 pig 中使用 SUM() 获得计算值

我的命令如下:Z=LOAD'/..file_path'USINGPigStorage(',')AS(name:CHARARRAY,gpa:int,salary:int);y=GROUPZBYgpa;R=FOREACHyGENERATESUM(Z.salary);我正在获取的输出DUMPR;作为:{all,()};请指导我。TIA。 最佳答案 您需要使用GROUPALL而不是GROUPBY来获取SUM.Z=LOAD'/..file_path'USINGPigStorage(',')AS(name:CHARARRAY,gpa:int,s