草庐IT

搞机分区

全部标签

hadoop - HQL - 如何将几个分区中的数据从一个表复制/移动到另一个表

我有一个表(main_table),它被分区并存储记录的历史记录,并带有一个标志来指示记录是否被删除。我有另一个table9del_table),它与​​main_table具有相同的模式,但只存储一天的已删除记录(delete_falg='Y')。作为一个过程,我需要每天将del_table中可用的记录移动到main_table。我正在尝试编写一个LOADDATAINPATH命令,它可以将del_table的各个分区中的可用数据移动到main_table的相应分区,但我的尝试似乎都没有用。请让我知道是否可以通过使用LOADDATAINPATH命令来实现它,而无需指定单独的分区?我正在

hadoop - 是否可以向配置单元中现有的分区表添加新的列分区

我有一个名为employee_part的分区表。该表按hiredate分区。它具有如下所示的元数据当我尝试向employee_part表添加新的列分区时,我收到一条错误消息ALTERTABLEemployee_partADDPARTITION(gender='M')location'hdfs://user/hive/warehouse/maprpoc.db/employee_part/hiredate=1985-11-21';失败:SemanticException分区规范{gender=M}包含非分区列请澄清一下!提前致谢.. 最佳答案

hadoop - 现有表的 Hive 分桶和分区

是否可以为已经包含数据的表创建分桶和分区?我在hive中有一个表,其中包含超过100M的记录,我想在该表上创建一个分区。我还需要创建分桶。这可能吗?谢谢,巴拉 最佳答案 不,不可能在预加载的表中更改分桶和分区,您可能必须创建一个具有所需分桶和分区属性的新表,然后从旧表加载它。sethive.enforce.bucketing=true;FROMold_tableinsertintotablenew_bucketed_partitioned_tableselect*; 关于hadoop-现

java - 读取从 S3 分区的 Hive 到 Spark

在使用HiveEMR一段时间后,我正在迈出进入Spark的第一步。我想读取以下列格式保存到S3的Hive表:s3:////date=/fileNames我可以使用答案inthisquestion但后来我失去了数据行与date之间的连接,那是因为我没有在文件中保存日期。有没有一种简单的方法可以得到每行数据的文件名? 最佳答案 如果您只需要文件名中的日期,那么您不需要获取文件名,因为如果您正确创建表,spark和hive会自动为您完成。让我演示一下:#inhivehive>createtablet1(namestring)partiti

hadoop - 更改表分区设置位置后的 Hive 错误

我有一张表TEST,其中有一个分区Profession。执行后AlterTableTESTPARTITION(Profession='50')setlocation'hdfs:/apps/hive/warehouse1/TEST/Profession=50';命令执行无误;下一个查询因异常而失败:cannotfinddir=hdfs:/xxxxxxxx/apps/hive/wharehouse/TEST/Profession=50这是原来设置分区的目录。执行AlterTable将位置移回原始位置并不会修复信息。我的目标是随着时间的推移将旧分区从SSDhdfs卷移动到HDDhdfs卷。有

r - 使用 sparklyr 删除/更新分区

这个问题在这里已经有了答案:OverwriteonlysomepartitionsinapartitionedsparkDataset(3个答案)关闭4年前。我正在使用sparklyr的spark_write_table函数将表写入HDFS,使用partition_by参数定义如何存储它们:R>my_table%>%spark_write_table(.,path="mytable",mode="append",partition_by=c("col1","col2"))但是,现在我只想通过更改一个分区来更新表,而不是重新写入整个表。在Hadoop-SQL中我会做类似的事情:INSER

hadoop - 一条记录插入到hive分区表

我想向一个hive分区表中插入一条记录:表格描述如下:namestringNoneidstringNonework_donestringNone#PartitionInformation#col_namedata_typecommentwork_donestringNone该表包含几条记录,我想向表中追加一条新记录。下面是我写的插入记录的代码。insertintotablework_details_join_partpartition(work_done)select'sammy','sam002','Assignment'fromdual;写完上面的命令后出现错误:SemanticE

hadoop - Hive 从多个目录加载数据并动态创建分区

我根据创建日期将数据存储在Hadoop中,所以我有多个目录在基于/data/{year}/{month}/{day}格式创建的HDFS上。我希望将这些数据加载到Hive中(定期)并创建相应的分区。目前,我正在尝试以下几种方法CREATEEXTERNALTABLEtablename(...)PARTITIONEDBY(yearSTRING,monthSTRING,daySTRING)LOCATION'/data';ALTERTABLEtablenameADDPARTITION(year='2014',month='10',day='13')LOCATION'/data/2014/10/1

hadoop - 使用 hdfs 的 Impala 分区表

我将数据以以下格式存储在hdfs中,并使用“altertableaddpartition”命令将这些数据插入到impala分区表中。/user/impala/subscriber_data/year=2013/month=10/day=01/user/impala/subscriber_data/year=2013/month=10/day=02一切正常。现在我有一个新数据,月份和年份分别为10和01。现在我需要处理这些数据并将这些数据附加到现有的hdfs目录中(年=2013/月=10/日=01)。当我尝试处理并插入到hdfs目录时,由于输出目录已经存在而给出错误。有没有办法在不删除现

mysql - 多列配置单元上的动态分区

我有一个包含多列的文件,其中两列是年份和月份。我正在尝试根据这两列年份和月份对表进行动态分区。我尝试了以下命令:将路径'/com/data/abc.txt'中的数据加载到表ABC_TABLE分区(年,月);下面是我得到的异常:失败:SemanticExceptionorg.apache.hadoop.hive.ql.metadata.HiveException:MetaException(消息:无效的分区键和值;键[year_cd,quarter_num,],值[]) 最佳答案 加载数据时,需要根据列值提及分区的详细信息。请参阅以下