草庐IT

分区分表

全部标签

hadoop - Apache hive MSCK REPAIR TABLE 未添加新分区

我是ApacheHive的新手。在处理外部表分区时,如果我直接向HDFS添加新分区,则在运行MSCKREPAIR表后不会添加新分区。以下是我试过的代码,--创建外部表hive>createexternaltablefactory(namestring,empidint,ageint)partitionedby(regionstring)>rowformatdelimitedfieldsterminatedby',';--详细的表格信息Location:hdfs://localhost.localdomain:8020/user/hive/warehouse/factoryTableTy

hadoop - Hive 1.1.0 将表分区类型从 int 更改为 string

我有一个表,它有一个int类型的分区,但我想将其转换为字符串。但是,我不知道该怎么做。表的描述是:Col1timestampCol2stringCol3stringCol4stringPart_colint#Partitioninformation#col_namedata_typecommentPart_colint我创建的分区是Part_col=0,Part_col=1,...,Part_col=23我想将它们更改为Part_col='0'等我在配置单元中运行这个命令:sethive.exec.dynamic.partitions=true;Altertabletbl_namepa

hadoop - 分区! hadoop是怎么做到的?使用哈希函数?默认功能是什么?

分区是确定哪个reducer实例将接收哪些中间键和值的过程。每个映射器必须为其所有输出(键、值)对确定哪个缩减器将接收它们。有必要对于任何键,无论哪个映射器实例生成它,目标分区都是相同的问题:hadoop是怎么做到的?使用哈希函数?默认功能是什么? 最佳答案 Hadoop中的默认分区器是HashPartitioner,它有一个名为getPartition的方法。它采用key.hashCode()&Integer.MAX_VALUE并使用reduce任务的数量找到模数。例如,如果有10个reduce任务,getPartition将为所

hadoop - 使用分区将数据从一个 Hive 表加载到另一个

我在一个Hive表中有数据,想将数据加载到另一个Hive表中。源表是reg_logs,它有2个分区,日期和小时。数据每小时加载到该表中。架构是:CREATEEXTERNALTABLEIFNOTEXISTSreg_logs(idint,region_codeint,countint)PARTITIONEDBY(utc_dateSTRING,utc_hourSTRING)ROWFORMATDELIMITEDFIELDSTERMINATEDBY'\t'STOREDASTEXTFILELOCATION'/ad_data/raw/reg_logs';目标表是reg_logs_org我想做的就是从

hadoop - 如何从具有特定分区的配置单元中选择数据?

大家。以下是与配置单元的交互:hive>showpartitionsTABLENAMEpt=2012.07.28.08/is_complete=1pt=2012.07.28.09/is_complete=1pt=2012.07.28.10/is_complete=1pt=2012.07.28.11/is_complete=1hive>select*fromTABLENAMEwherept='2012.07.28.10/is_complete=1'limit1;OKTimetaken:2.807secondshive>select*fromTABLENAMEwherept='2012.0

hadoop - 如何在特定日期之前使用配置单元添加分区?

我正在使用配置单元(带有外部表)来处理存储在amazonS3上的数据。我的数据分区如下:DIRs3://test.com/2014-03-01/DIRs3://test.com/2014-03-02/DIRs3://test.com/2014-03-03/DIRs3://test.com/2014-03-04/DIRs3://test.com/2014-03-05/s3://test.com/2014-03-05/ip-foo-request-2014-03-05_04-20_00-49.logs3://test.com/2014-03-05/ip-foo-request-2014-0

hadoop - kafka集群中主题的分区和副本有什么区别

kafka集群中主题的分区和副本有什么区别。我的意思是两者都将消息的副本存储在一个主题中。那么真正的区别是什么? 最佳答案 将消息添加到主题时,调用生产者API的send(KeyedMessagemessage)方法。这意味着您的消息包含键和值。创建主题时,您可以指定希望它拥有的分区数。当您为此主题调用“发送”方法时,数据将根据您的key的哈希值(默认情况下)仅发送到一个特定分区。每个分区可能有一个副本,这意味着两个分区及其副本存储相同的数据。限制是您的生产者和消费者都只使用主副本,其副本仅用于冗余。引用文档:http://kafk

hadoop - Spark RDD - 分区总是在 RAM 中吗?

我们都知道Spark在内存中进行计算。我只是对以下内容感到好奇。如果我从HDFS在我的pySparkshell中创建10个RDD,这是否意味着所有这10个RDD的数据都将驻留在SparkWorkers内存中?如果不删除RDD,它会永远存在内存中吗?如果我的数据集(文件)大小超过可用RAM大小,数据将存储在哪里? 最佳答案 IfIcreate10RDDinmypySparkshellfromHDFS,doesitmeanallthese10RDDdatawillresideonSparkMemory?是的,所有10个RDD数据都将散布

date - Hive:动态分区添加到外部表

我正在运行配置单元071,处理具有以下目录布局的现有数据:-表名-d=(例如2011-08-01)-d=2011-08-02-d=2011-08-03...等等在每个日期下我都有日期文件。现在加载我正在使用的数据CREATEEXTERNALTABLEtable_name(iint)PARTITIONEDBY(dateString)LOCATION'${hiveconf:basepath}/TableName';**我希望我的配置单元脚本能够根据一些输入日期和天数加载相关分区。所以如果我通过date='2011-08-03'和days='7'该脚本应加载以下分区-d=2011-08-03

hadoop - MapReduce 中的分区究竟是如何工作的?

我认为我对MapReduce编程模型有一个大致的了解,但即使在阅读了原始论文和其他一些资源之后,我仍然不清楚许多细节,尤其是关于中间结果的分区。我将快速总结一下到目前为止我对MapReduce的理解:我们有一个可能非常大的输入数据集,它会被MR-Framework自动分成M个不同的部分。对于每一block,框架都会安排一个映射任务,该任务由我的集群中的一个可用处理器/机器执行。M个map任务中的每一个都输出一组Key-Value-Pairs,这些键值对存储在本地执行此map任务的同一台机器上。每台机器将其磁盘划分为R个分区,并根据中间键在分区之间分发其计算的中间键值对。然后,框架为每个