小编mag*_*alo的帖子

Hive无法手动设置减速器数量

我有以下配置单元查询:

select count(distinct id) as total from mytable;
Run Code Online (Sandbox Code Playgroud)

自动生成:
1408 Mappers
1 Reducer

我需要手动设置reducer的数量,我尝试了以下内容:

set mapred.reduce.tasks=50 
set hive.exec.reducers.max=50
Run Code Online (Sandbox Code Playgroud)

但这些设置似乎都没有得到尊重.该查询需要永远运行.有没有办法手动设置Reducer或重写查询,以便它可以导致更多的reducers?谢谢!

hadoop hive mapreduce

25
推荐指数
2
解决办法
4万
查看次数

Avro架构演变

我有两个问题:

  1. 是否可以使用相同的阅读器并解析用两个兼容的模式编写的记录,例如,Schema V2只有一个额外的可选字段Schema V1,我想让读者理解这两个?我认为这里的答案是否定的,但如果是,我该怎么做?

  2. 我曾尝试用Schema V1它编写记录并阅读它Schema V2,但是我收到以下错误:

    org.apache.avro.AvroTypeException:找到了foo,期待foo

我用过avro-1.7.3和:

   writer = new GenericDatumWriter<GenericData.Record>(SchemaV1);
   reader = new GenericDatumReader<GenericData.Record>(SchemaV2, SchemaV1);
Run Code Online (Sandbox Code Playgroud)

以下是两个模式的示例(我也尝试过添加命名空间,但没有运气).

架构V1:

{
"name": "foo",
"type": "record",
"fields": [{
    "name": "products",
    "type": {
        "type": "array",
        "items": {
            "name": "product",
            "type": "record",
            "fields": [{
                "name": "a1",
                "type": "string"
            }, {
                "name": "a2",
                "type": {"type": "fixed", "name": "a3", "size": 1}
            }, {
                "name": "a4",
                "type": "int"
            }, {
                "name": "a5",
                "type": "int"
            }]
        }
    }
}] …
Run Code Online (Sandbox Code Playgroud)

avro

12
推荐指数
1
解决办法
1万
查看次数

标签 统计

avro ×1

hadoop ×1

hive ×1

mapreduce ×1