hdfswriter/src/main/java/com/alibaba/datax/plugin/writer/hdfswriter/ParquetFileSupport.java [393:434]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    private void writeMap(GroupType groupType, JSON value, int index) {
        if (value == null) {
            return;
        }

        JSONObject json = (JSONObject) value;

        if (json.isEmpty()) {
            return;
        }

        recordConsumer.startField(groupType.getName(), index);

        recordConsumer.startGroup();

        // map
        // key_value start
        recordConsumer.startField("key_value", 0);
        recordConsumer.startGroup();

        List<Type> keyValueFields = groupType.getFields().get(0).asGroupType().getFields();
        Type keyType = keyValueFields.get(0);
        Type valueType = keyValueFields.get(1);
        for (String key : json.keySet()) {
            // key
            writePrimitiveType(keyType, key, 0);

            // value
            if (valueType.isPrimitive()) {
                writePrimitiveType(valueType, json.get(key), 1);
            } else {
                writeGroupType(valueType, (JSON) json.get(key), 1);
            }
        }

        recordConsumer.endGroup();
        recordConsumer.endField("key_value", 0);
        // key_value end

        recordConsumer.endGroup();
        recordConsumer.endField(groupType.getName(), index);
    }
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



osswriter/src/main/java/com/alibaba/datax/plugin/writer/osswriter/parquet/ParquetFileSupport.java [148:189]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    private void writeMap(GroupType groupType, JSON value, int index) {
        if (value == null) {
            return;
        }

        JSONObject json = (JSONObject) value;

        if (json.isEmpty()) {
            return;
        }

        recordConsumer.startField(groupType.getName(), index);

        recordConsumer.startGroup();

        // map
        // key_value start
        recordConsumer.startField("key_value", 0);
        recordConsumer.startGroup();

        List<Type> keyValueFields = groupType.getFields().get(0).asGroupType().getFields();
        Type keyType = keyValueFields.get(0);
        Type valueType = keyValueFields.get(1);
        for (String key : json.keySet()) {
            // key
            writePrimitiveType(keyType, key, 0);

            // value
            if (valueType.isPrimitive()) {
                writePrimitiveType(valueType, json.get(key), 1);
            } else {
                writeGroupType(valueType, (JSON) json.get(key), 1);
            }
        }

        recordConsumer.endGroup();
        recordConsumer.endField("key_value", 0);
        // key_value end

        recordConsumer.endGroup();
        recordConsumer.endField(groupType.getName(), index);
    }
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



