草庐IT

搞机分区

全部标签

hadoop - 在 AWS EC2 上扩展根分区

我创建了一个公共(public)VPC,然后向其中添加了一堆节点,以便我可以将其用于spark集群。不幸的是,它们都具有如下所示的分区设置:ec2-user@sparkslave1:lsblk/dev/xvda100G/dev/xvda15.7G/我在这些机器上设置了一个云管理器,所有节点只剩下1G空间给HDFS。如何扩展分区以占用所有100G?我尝试创建/dev/xvda2,然后创建一个卷组,将所有/dev/xvda*添加到其中,但/dev/xvda1在挂载时没有添加。在这种情况下,我无法从liveCD启动,它在AWS上。我也试过resize2fs但它说根分区已经占用了所有可用的bl

hadoop - Hive 从带分区的文件创建表

我遇到了一个我无法完全理解的奇怪的HIVE行为。我真的希望有人能对这件事有所了解。我正在使用以下脚本创建表并将数据添加到表中:DROPTABLEmyTbl;CREATEEXTERNALTABLEmyTbl(Col1string,Col2string,Col3string,Col4string,)PARTITIONEDBY(partitionSTRING)LOCATION'${hiveconf:Valid_location_on_aws_s3_with_the_proper_file_to_create_table}';Hive运行脚本返回OK但(这就是问题所在)表是空的。运行:sele

hadoop - 如何从 pyspark rdd 或分区确定原始 s3 输入文件名

我正在使用pyspark流式处理来自S3的ETL输入文件。我需要能够建立所有原始输入文件的审计线索在s3://上,我的Parquet输出在hdfs://上结束。给定一个dstream、rdd,甚至是一个特定的rdd分区,是否有可能确定s3中输入数据的原始文件名?目前我知道的唯一方法是采取rdd.toDebugString()并尝试解析它。然而,这感觉真的很hacky并且不在某些情况下工作。例如,解析调试输出对我的批处理模式导入不起作用我也在做(使用sc.TextFile("s3://...foo/*")样式的glob)。有没有人有确定原始文件名的明智方法?似乎其他一些spark用户过去

sql - 如何动态地从配置单元表中删除分区?

我是hive的新手。有人可以帮我解决这个要求吗?我的需求是动态删除分区。我有一个结果不同区域的SQL(SQL如下:在ALTERTABLEFROM之后)。现在我想删除由我的SQL返回的区域(在我的配置单元表中分区)。我尝试了以下方法:ALTERTABLEPARTITION(region=tab.region)FROMselecttab.regionfrom(SELECT*fromTable1)tabjoin(selectfilenamefromTable2)tab1ontab1.filename=tab.filename它抛出以下异常:'1:21:13[ALTER-0row(s),0.0

sql - 像另一个一样创建一个配置单元表,但按键分区

在Hive中,我想用另一个表的列创建一个表,但用其中一个列对其进行分区。那可能吗?理想情况下,我想执行这样的操作:CREATETABLEifnotexistsnew_tableLIKEold_tablePARTITIONEDBY(col1int)现在它没有运行,因为我似乎无法在使用like子句后添加partitionedby。我正在寻找替代方案,因为我正在尝试编写一个通用函数,而不必专门解析或硬编码架构。 最佳答案 我想不出一种在一个查询中以通用方式执行此操作的方法。我最终使用describeold_table读取了模式,创建了带有

arrays - 如何在 hadoop 分区程序中定义数组

我是hadoop和mapreduce编程的新手,不知道我应该做什么。我想在hadoop分区程序中定义一个int数组。我想在主函数中感受这个数组并在分区程序中使用它的内容。我曾尝试使用IntWritable及其数组,但它们都不起作用。我尝试使用IntArrayWritable但还是没有用。如果有人帮助我,我会很高兴。非常感谢publicstaticIntWritableh=newIntWritable[1];publicstaticvoidmain(String[]args)throwsException{h[0]=newIntWritable(1);}publicstaticclass

sql - Hive 分区性能

想问一下Hive的分区性能。要查看分区性能,我需要多少条记录(以行计)?目前,我有超过200万条记录,我已将表拆分为2个分区。我的分区条件如下:ADDPARTITION(year_month=’2017_07’)ADDPARTITION(year_month=’2017_08’)INSERTOVERWRITETABLETPARTITION(year_month='2017_07')SELECT*FROMTWHEREst_timeINSERTOVERWRITETABLETPARTITION(year_month='2017_08')SELECT*FROMTWHEREst_time>='2

hadoop - s3 上的 Spark Dataset Parquet 分区创建临时文件夹

Spark(version=2.2.0)没有DirectParquetOutputCommitter。作为替代方案,我可以使用dataset.option("mapreduce.fileoutputcommitter.algorithm.version","2")//magichere.parquet("s3a://...")避免在S3上创建_temporary文件夹。一切正常,直到我将partitionBy设置为我的数据集dataset.partitionBy("a","b").option("mapreduce.fileoutputcommitter.algorithm.versi

hadoop - 创建 Hive 分区表前需要遵循的规则

作为我要求的一部分,我必须创建一个新的Hive表并以编程方式插入其中。为此,我使用以下DDL来创建Hive表:CREATEEXTERNALTABLEIFNOTEXISTScountData(tableNameString,ssnString,hiveCountString,sapCountString,countDifferenceString,percentDifferenceString,sap_UpdTmsString,hive_UpdTmsString)COMMENT'Thistablecontainsrecordcountofcorrespondingtablesofallt

bash - Hive 使用 HIVE CONCATENATE 合并所有分区

我有一个配置单元外部表,在源系统上分区,这意味着数据将来自多个源系统。数据目录结构为:/app/hadoop/MyProject/SchemaName/TableName/PartitionColumn=SoruceSystem1/app/hadoop/MyProject/SchemaName/TableName/PartitionColumn=SoruceSystem2/app/hadoop/MyProject/SchemaName/TableName/PartitionColumn=SoruceSystem3.../app/hadoop/MyProject/SchemaName/T