hdfswriter/src/main/java/com/alibaba/datax/plugin/writer/hdfswriter/ParquetFileSupport.java [323:347]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    private void writeFields(List<Type> types, Record values) {
        for (int i = 0; i < types.size(); i++) {
            Type type = types.get(i);
            Column value = values.getColumn(i);
            if (value != null) {
                try {
                    if (type.isPrimitive()) {
                        writePrimitiveType(type, value, i);
                    } else {
                        writeGroupType(type, (JSON) JSON.parse(value.asString()), i);
                    }
                } catch (Exception e) {
                    if (printStackTrace) {
                        printStackTrace = false;
                        LOGGER.warn("write to parquet error: {}", e.getMessage(), e);
                    }
                    // dirty data
                    if (null != this.taskPluginCollector) {
                        // job post 里面的merge taskPluginCollector 为null
                        this.taskPluginCollector.collectDirtyRecord(values, e, e.getMessage());
                    }
                }
            }
        }
    }
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



osswriter/src/main/java/com/alibaba/datax/plugin/writer/osswriter/parquet/ParquetFileSupport.java [78:102]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    private void writeFields(List<Type> types, Record values) {
        for (int i = 0; i < types.size(); i++) {
            Type type = types.get(i);
            Column value = values.getColumn(i);
            if (value != null) {
                try {
                    if (type.isPrimitive()) {
                        writePrimitiveType(type, value, i);
                    } else {
                        writeGroupType(type, (JSON) JSON.parse(value.asString()), i);
                    }
                } catch (Exception e) {
                    if (printStackTrace) {
                        printStackTrace = false;
                        LOGGER.warn("write to parquet error: {}", e.getMessage(), e);
                    }
                    // dirty data
                    if (null != this.taskPluginCollector) {
                        // job post 里面的merge taskPluginCollector 为null
                        this.taskPluginCollector.collectDirtyRecord(values, e, e.getMessage());
                    }
                }
            }
        }
    }
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



