草庐IT

alter_column

全部标签

hadoop - 如何在配置单元中使用 alter 命令创建多个分区?

我在一个表上有2个分区,如下所示:hive>showpartitionsalt_part;OKyop=2011yop=2013现在我想为2013年添加一个内部分区。但我收到以下错误。hive>altertablealt_partaddpartition(yop=2013,mop=9);FAILED:SemanticExceptionPartitionspec{yop=2013,mop=9}containsnon-partitioncolumns如果我做错了,请纠正我。我也试过定位....hive>altertablealt_partaddpartition(yop=2013,mop=9

hadoop - Sqoop 中拆分 <column> --target-dir 的目的是什么

当我们在sqoop中编写--split-by时,内部发生了什么?例子:sqoopimport--connectjdbc:mysql://localhost/test--usernameroot--passwordtraining123--query'select*fromtransactionwhere$CONDITIONS'--split-byTxnid--target-dirinput/transaction 最佳答案 HadoopMAPReduce就是分而治之。为了将数据分割成多个独立的切片并行传输,Sqoop需要找到--sp

hadoop - hive QL : split column into 2 columns and rank each column

代码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

SQL 查询 : Identify duplicate values and also show the values in column that is not duplicated

我正在分析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

hadoop - HIVE 中 ALTER TABLE 命令中的 CONCATENATE 如何工作

我想了解HIVE中的ALTERTABLECONCATENATE究竟是如何工作的。我看到了这个链接HowdoesHive'altertableconcatenate'work?但我从这个链接得到的只是对于ORC文件,合并发生在strip级别。我正在寻找有关CONCATENATE工作原理的详细说明。例如,我最初在HDFS中有500个小的ORC文件。我运行了HiveALTERTABLECONCATENATE并将文件合并为27个更大的文件。随后运行的CONCATENATE将文件数量减少到16个,最后我得到了两个大文件。(使用版本Hive0.12)所以我想了解CONCATENATE的具体工作原理

hadoop - 改变(EMPTY)表添加分区COLUMN

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

hadoop - 配置单元 : group column based on max value

我有一个包含字段的表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

hadoop - 如何将 Sqoop 导入命令与 --map-column-hive 一起使用?

我正在尝试将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

hadoop - Apache hive : How to Add Column at Specific Location in Table

我想在Hive表的特定位置添加一个新列。当我添加新列时,它会转到最后一个位置。 最佳答案 您需要重新创建表。如果表是外部表并且数据已经包含新列,则发出drop和createtable语句。一般的解决方案是:1.createnew_table...;2.insertoverwritenew_tableselectfromold_table;3.dropold_table;4.alternew_tablerenametoold_table;此外,如果数据文件已经在某个位置包含新列,您可以1.Altertableaddcolumn使用此示

hadoop - Hive alter table 语句

ALTERTABLEabcADDPARTITION(year= 2014,month=1,day=1)location'/data/input/abc/year=2014/month=1/day=1';FAILED:ParseExceptionline1:47character' 'notsupportedhere为什么会出现这个错误 最佳答案 出现错误是因为您的分区命令中有空格。year=2014试试看year=2014...假设您的年份列是int。类型。如果它是你需要的字符串year='2014'