草庐IT

搞机分区

全部标签

hadoop - 如何使用 pig 以 RC 格式存储分区数据?

我想知道是否有UDF或其他东西可以以RC格式以分区方式存储我的数据。我知道有org.apache.pig.piggybank.storage.MultiStorage但它只对某些压缩格式有效。我想以RC格式存储我的数据,但使用MultiStorage提供的相同分区存储结构。谢谢,伊姆蒂亚兹 最佳答案 piggybank或其他替代方案都没有这样的解决方案。我遇到过类似的问题。但由于其他一些要求而放弃了实现。唯一可用的解决方案是扩展MultiStorageudf以提供RC存储格式。Twitter已开源其RC文件存储。你可以从中得到帮助。

hadoop - 如何在查询 Cassandra 时指示 Hive 使用分区/主键

我们正在运行DatastaxEnterprise4.0.1并尝试针对Cassandra中的CF运行不同的M/R作业。我们这样设置了列族:CREATETABLEpageviews(websitetext,datetext,createdtimestamp,browser_idtext,iptext,referertext,user_agenttext,PRIMARYKEY((website,date),created,browser_id))WITHbloom_filter_fp_chance=0.001000ANDcaching='KEYS_ONLY'ANDcomment=''ANDd

hadoop - 如何将配置单元分区读入 Apache Crunch 管道?

我能够将hdfs中的文本文件读取到apache处理管道中。但现在我需要读取配置单元分区。问题是根据我们的设计,我不应该直接访问该文件。因此,现在我需要一些方法来使用HCatalog之类的东西访问分区。 最佳答案 您可以使用org.apache.hadoop.hive.metastoreAPI或HCatAPI。下面是一个使用hive.metastore的简单示例。除非您想加入映射器/缩减器中的某个Hive分区,否则您必须在开始管道之前或之前调用。HiveMetaStoreClienthmsc=newHiveMetaStoreClien

hadoop - 如何确定Hive中的动态分区数

我正在为一个被分区和绑定的表执行insert语句但是在运行期间,它抛出了一个关于动态分区数量的错误——即,没有足够的动态分区。所以,我设置如下:sethive.exec.max.dynamic.partitions=2000;sethive.exec.max.dynamic.partitions.pernode=2000;有人能解释一下应该设置多少个分区吗?我只是给了它们一个随机值。 最佳答案 我们可以通过使用分区列的不同值来预测将要创建的动态分区的最大数量。分区数的最大值将是每个分区列不同值计数的乘积。例如,对于某个表,如果我将年

hadoop - 如果在 Hadoop Map Reduce 中定义了自定义分区程序,默认哈希分区程序是否仍然有效?

由于我是hadoop的新手,我尝试了http://www.tutorialspoint.com/map_reduce/map_reduce_partitioner.htm中的示例代码我发现该程序根据年龄组使用了3个不同的分区,并且还使用了3个reducer,这是预期的。但是在reducer代码中(这里的性别是男/女的关键)我仍然得到,我假设这个值列表创建是由散列分区程序完成的。但是正如我定义的getPartitions(),谁来创建这个列表? 最佳答案 在上面的示例代码中,我们在运行方法中有以下驱动程序代码--Configurati

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

python - 如何在 ipython notebook 中为 Hive 查询设置最大分区

我目前正在使用Ipythonnotebook编写脚本。importpandasaspdimportpyhs2importosimportdatetimeq1="sethive.query.max.partition=3000;select'Device_id'askey,'AllTime'astype,count(distincta.dev_id)ascountfrom(selectdistinctdev_idfromDevIDwheredev_type='*****'unionallselectdistinctkey_value_lookup(raw_url,'*****','&',

hadoop - 如何将reduce分区放入hadoop集群中设计的机器中?

例如:减少结果:part-00000,part-00001...part-00008,集群有3个数据节点,我想将part-00000、part-00001和part-00002放到slave0将part-00003、part-00004和part-00005放到slave1将part-00006、part-00007和part-00008放到slave2我该怎么做? 最佳答案 不是这样的。HDFS中的文件不存储在任何特定的数据节点中。每个文件由block组成,每个block被复制到多个节点(默认为3个)。所以每个文件实际上存储在不同

hadoop - 分区表中要考虑的配置单元第一列

在hive中创建分区表,是否必须始终选择分区列的最后一列。如果我选择第一列作为分区,我不能过滤数据,有没有办法选择第一列作为分区? 最佳答案 在hive中,如果要对表进行分区,首先要在建表时定义分区列。&在将数据填充到表中时,您需要指定如下:“插入分区表分区(状态)从temp_tbl中选择ID、名称、状态”通过这种方式,您可以仅根据最后一列进行分区。如果要根据第一列进行分区。你必须为此编写一个Mapreduce作业。这是唯一可用的选项。 关于hadoop-分区表中要考虑的配置单元第一列,

hadoop - 如何使用风筝数据集分区模式正确导入 csv 数据集?

我正在使用来自MovieLens的公开可用的csv数据集我为ratings.csv创建了一个分区数据集:kite-datasetcreateratings--schemarating.avsc--partition-byyear-month.json--formatparquet这是我的年月.json:[{"name":"year","source":"timestamp","type":"year"},{"name":"month","source":"timestamp","type":"month"}]这是我的csv导入命令:mkite-datasetcsv-importrati