我想知道是否有可能在pig身上做这样的事情:一共有三列:“类型1”、“类型2”、“类型3”B101,159,74我想这样定义C列:如果A=="type1"那么C=B;否则C=0这在pig身上可能吗? 最佳答案 是的,这是可能的。你可以这样写:data=LOAD'$dataSource'usingAvroStorage();--data={A,B}data2=FOREACHdataGENERATEA,B,(A=='type1'?B:0)ASC;dumpdata2; 关于hadoop-pig
我试图在将CSV文件加载到Pig时跳过它的标题。REGISTER/usr/hdp/2.3.4.0-3485/pig/lib/piggybank.jar;defineCSVExcelStorageorg.apache.pig.piggybank.storage.CSVExcelStorage;transactions=load'hdfs://vm1.local:8020/user/root/transcations/trans.csv'USINGCSVExcelStorage(',','NO_MULTILINE','UNIX','SKIP_INPUT_HEADER')但是当我转储tran
当我们在sqoop中编写--split-by时,内部发生了什么?例子:sqoopimport--connectjdbc:mysql://localhost/test--usernameroot--passwordtraining123--query'select*fromtransactionwhere$CONDITIONS'--split-byTxnid--target-dirinput/transaction 最佳答案 HadoopMAPReduce就是分而治之。为了将数据分割成多个独立的切片并行传输,Sqoop需要找到--sp
代码selectc1,c2,c3,c4,c5,c6fromtablewherec5in('a','b')从这里开始,我想将c5列拆分为两列,然后根据它们对c6的值对它们进行排名。一列应该由所有a结果组成,另一列应该是所有b结果。我已经能够使用rank()对它们进行排名,但无法将列分开。我还没有得到其他人曾经为我工作的技术。 最佳答案 selectc1,c2,c3,c4,c5,c6,rank()over(partitionby...orderbycasewhenc5='a'then1casewhenc5='b'then2end)asr
我正在分析hadoop中的数据。有一些重复条目,其中A、B列重复,而C列不同。我想要做的是仅识别A、B重复项,然后为每个重复项打印出C列的不同值。示例数据:row,data,input_date,INPUT__FILE__NAME0,data1,20180702,LOCATION11,data1,20180702,LOCATION22,data1,20180702,LOCATION23,data2,20180702,LOCATION14,data2,20180702,LOCATION15,data2,20180702,LOCATION26,data2,20180702,LOCATION
HDP-2.5.0.0使用Ambari2.4.0.1有几个SQLServer和Oracle数据库模式需要导入到HDFS/Hive。当前的方法运行良好:Sqoop以avro格式从RDBMS导入HDFS在avro文件之上创建一个Hive外部表,即。dataaggregate_avro_compressed根据步骤2创建最终表。将此步骤自动化将第2步中表中的数据插入到最终表中现在,第3步。表必须是ORC+COMPRESSED+PARTITIONED并且可能是MANAGED。手动,可以完成以下操作:CREATETABLE`dataaggregate_orc_empty`(......)PART
我有一个包含字段的表datevalue10-02-19002309-05-19012210-03-19001010-02-190124....我必须返回每年的最大值即,190023190124我尝试了以下查询,但得到了错误的答案。SELECTYEAR(FROM_UNIXTIME(UNIX_TIMESTAMP(date,'dd-mm-yyyy')))asdate,MAX(value)FROMtebGROUPBYdate;有人可以建议我查询吗? 最佳答案 选项1selectyear(from_unixtime(unix_timestam
我正在尝试将Teradata中的数据Sqoop到配置单元。我想到了以下步骤:1)在Hue中创建一个包含所有必填字段的Hive表。2)通过使用Sqoopimport命令和--map-column-hive属性将数据从Teradata加载到hive。Sqoopimport命令如何指向已经创建的Hive表,以便将Sqooped数据放到对应的Hive表中? 最佳答案 您可以使用shell和awk从现有表生成map-column-hive属性。它将以COL1=TYPE,COL2=TYPE,...COLN=TYPE的形式生成#!/bin/bas
我想在Hive表的特定位置添加一个新列。当我添加新列时,它会转到最后一个位置。 最佳答案 您需要重新创建表。如果表是外部表并且数据已经包含新列,则发出drop和createtable语句。一般的解决方案是:1.createnew_table...;2.insertoverwritenew_tableselectfromold_table;3.dropold_table;4.alternew_tablerenametoold_table;此外,如果数据文件已经在某个位置包含新列,您可以1.Altertableaddcolumn使用此示
我想存储我的数据而不跳过数据头这是我的pig脚本:CRE_GM05=LOAD'$input1'USINGPigStorage(;)AS(MGM_COMPTEUR:chararray,CIA_CD_CRV_CIA:chararray,CIA_DA_EM_CRV:chararray,CIA_CD_CTRL_BLCE:chararray,CIA_IDC_EXTR_RDJ:chararray,CIA_VLR_IDT_CRV_LOQ:chararray,CIA_VLR_REF_CRV:chararray,CIA_NO_SEQ_CRV:chararray,CIA_VLR_LG_ZON_RTG:ch