@@ -126,12 +126,7 @@ private[parquet] class RowWriteSupport extends WriteSupport[Row] with Logging {
126126
127127 override def init (configuration : Configuration ): WriteSupport .WriteContext = {
128128 // attributes = DataType(configuration.get(RowWriteSupport.PARQUET_ROW_SCHEMA))
129- attributes = if (attributes == null ) {
130- RowWriteSupport .getSchema(configuration) match {
131- case s : StructType => s.toAttributes
132- case other => sys.error(s " Can convert $attributes to row " )
133- }
134- } else attributes
129+ attributes = if (attributes == null ) RowWriteSupport .getSchema(configuration) else attributes
135130 schema = if (schema == null ) ParquetTypesConverter .convertFromAttributes(attributes) else schema
136131 // ParquetTypesConverter.convertToAttributes(schema)
137132 log.debug(s " write support initialized for requested schema $attributes" )
@@ -192,7 +187,9 @@ private[parquet] class RowWriteSupport extends WriteSupport[Row] with Logging {
192187 )
193188 )
194189 case IntegerType => writer.addInteger(value.asInstanceOf [Int ])
190+ case ShortType => writer.addInteger(value.asInstanceOf [Int ])
195191 case LongType => writer.addLong(value.asInstanceOf [Long ])
192+ case ByteType => writer.addInteger(value.asInstanceOf [Int ])
196193 case DoubleType => writer.addDouble(value.asInstanceOf [Double ])
197194 case FloatType => writer.addFloat(value.asInstanceOf [Float ])
198195 case BooleanType => writer.addBoolean(value.asInstanceOf [Boolean ])
@@ -298,7 +295,9 @@ private[parquet] class MutableRowWriteSupport extends RowWriteSupport {
298295 )
299296 )
300297 case IntegerType => writer.addInteger(record.getInt(index))
298+ case ShortType => writer.addInteger(record.getShort(index))
301299 case LongType => writer.addLong(record.getLong(index))
300+ case ByteType => writer.addInteger(record.getByte(index))
302301 case DoubleType => writer.addDouble(record.getDouble(index))
303302 case FloatType => writer.addFloat(record.getFloat(index))
304303 case BooleanType => writer.addBoolean(record.getBoolean(index))
0 commit comments