草庐IT

分区分表

全部标签

hadoop - Spark parquet 数据帧分区数

我有一个HDFS文件夹,其中包含两个250MB的Parquet文件。hadoopdfblock大小设置为128MB。具有以下代码:JavaSparkContextsparkContext=newJavaSparkContext();SQLContextsqlContext=newSQLContext(sparkContext);DataFramedataFrame=sqlContext.read().parquet("hdfs:////user/test/parquet-folder");LOGGER.info("Nr.ofrddpartitions:{}",dataFrame.rdd

kafka分区分配策略

前言现有主流消息中间件都是生产者-消费者模型,主要角色都是:Producer->Broker->Consumer,上手起来非常简单,但仍有需要知识点需要我们关注,才能避免一些错误的使用情况,或者使用起来更加高效,例如本篇要讲的kafka分区分配策略。在开始前我们先简单回顾一下kafka消息存储设计,如下图:topic是一个逻辑概念,一个topic可以包含多个partition,partition才是物理概念,kafka将partition存储在broker磁盘上。如图,test_topic只有一个partition,那么在broker上就会一个test_topic-0的文件夹。在partiti

hadoop - 如何在使用 alter drop partition 命令从托管表中删除分区时跳过垃圾箱

在使用以下命令从Hive的托管表中删除分区时,有什么方法可以跳过回收站吗?ALTERTABLEDROPPARITION()类似于我们使用hadoopfs命令删除文件时所做的事情hadoopfs-rmr-skipTrash 最佳答案 试试这套。SEThive.warehouse.data.skiptrash=true; 关于hadoop-如何在使用alterdroppartition命令从托管表中删除分区时跳过垃圾箱,我们在StackOverflow上找到一个类似的问题:

hadoop - Samza 发送消息时会自动创建分区吗?

如果您使用Samza的OutgoingMessageEnvelope使用此格式发送消息:publicOutgoingMessageEnvelope(SystemStreamsystemStream,java.lang.ObjectpartitionKey,java.lang.Objectkey,java.lang.Objectmessage)ConstructsanewOutgoingMessageEnvelopefromspecifiedcomponents.Parameters:systemStream-Objectrepresentingtheappropriatestreamo

Kafka学习笔记三(生成数据发送与分区)

Kafka学习笔记三(生成数据发送与分区)Kafka的消息从生产者到集群总共分为两个线程一个是main,一个是sendermain线程用于把消息放到RecordAccumulator寄存器中寄存sender线程会通过IO和kafkaserver进行交互发送消息首先讲main线程内KafkaProducer将发送的数据封装成一个ProducerRecord对象。内容包括:topic:string类型,NotNull。partition:int类型,可选。timestamp:long类型,可选。key:string类型,可选。value:string类型,可选。headers:array类型,Nu

hadoop - 将为配置单元中的分区表创建多少映射器和缩减器

我总是对为hive中的特定任务创建多少映射器和缩减器感到困惑。例如,如果block大小=128mb,并且有365个文件,每个文件映射到一年中的某个日期(每个文件大小=1mb)。有基于日期列的分区。在这种情况下,在加载数据期间将运行多少映射器和缩减器? 最佳答案 映射器:映射器的数量取决于各种因素,例如数据在节点之间的分布方式、输入格式、执行引擎和配置参数。另见此处:https://cwiki.apache.org/confluence/display/TEZ/How+initial+task+parallelism+worksMR使

scala - 在 Apache Spark 中按列分区到 S3

有我们想要从具有JSON的S3读取文件的用例。然后,基于特定的JSON节点值,我们希望对数据进行分组并将其写入S3。我能够读取数据,但找不到关于如何根据JSONkey对数据进行分区然后上传到S3的好例子。任何人都可以提供任何示例或指向可以帮助我处理此用例的教程吗?创建数据框后我得到了我的数据模式:root|--customer:struct(nullable=true)||--customerId:string(nullable=true)|--experiment:string(nullable=true)|--expiryTime:long(nullable=true)|--par

scala - 从 spark 中列出/检索 HDFS 分区作为 Map(String,List(String))

我想知道是否有某种方法可以利用spark.hdfs文件夹结构中已经存在的元数据信息。例如,我正在使用以下代码将数据写入hdfs,valcolumns=Seq("country","state")dataframe1.write.partitionBy(columns:_*).mode("overwrite").save(path)这会生成类似的目录结构,path/country=xyz/state=1path/country=xyz/state=2path/country=xyz/state=3path/country=abc/state=4我想知道的是使用spark,有没有办法将所有

hadoop - 了解 hadoop 中的自定义分区程序

我现在正在学习分区器的概念。谁能给我解释一下下面的代码。我很难理解publicclassTaggedJoiningPartitionerextendsPartitioner{@覆盖publicintgetPartition(TaggedKeytaggedKey,Texttext,intnumPartitions){返回taggedKey.getJoinKey().hashCode()%numPartitions;}}这个taggedKey.getJoinKey().hashCode()%numPartitions如何确定为一个键执行哪个reducer?有人能给我解释一下吗?

sorting - 在 MapReduce 中使用分区器进行二次排序有什么意义?

如果您需要在传递给reduce阶段时对给定键的值进行排序,例如移动平均线,或者模仿SQL中的LAG/LEAD分析函数,您需要在MapReduce中实现二次排序.在Google上搜索之后,常见的建议是:A)在映射阶段发出复合键,其中包括,B)创建一个“复合键比较器”类,其目的是为了二次排序,比较键后比较要排序的值,从而使传递给reducer的Iterable被排序。C)创建一个“自然键分组比较器”类,其目的是用于主要排序,仅比较要排序的键,以便传递给缩减器的Iterable包含属于给定键的所有值。D)创建一个“自然键分区器类”,我不知道它的目的,也是我的问题的目的。来自here:Then