title: Space in column name is throwing exception while parquet is used for compression
body: <p>I am getting below error while inserting the data into a table of parquet format with column name having space.</p>
  
  <p>Used Hive client of Cloudera version </p>
  
  <p>CREATE TABLE testColumNames( <code>First Name</code> string) stored as parquet;
  insert into testColumNames select 'John Smith';</p>
  
  <p>Is there any workaround to solve this issue? We got this error from Spark 2.3 code as well.</p>
  
  <pre><code>org.apache.hadoop.hive.ql.metadata.HiveException: java.lang.IllegalArgumentException: field ended by ';': expected ';' but got 'name' at line 1:   optional binary first name
  at org.apache.hadoop.hive.ql.io.HiveFileFormatUtils.getHiveRecordWriter(HiveFileFormatUtils.java:248)
  at org.apache.hadoop.hive.ql.exec.FileSinkOperator.createBucketForFileIdx(FileSinkOperator.java:583)
  at org.apache.hadoop.hive.ql.exec.FileSinkOperator.createBucketFiles(FileSinkOperator.java:527)
  at org.apache.hadoop.hive.ql.exec.FileSinkOperator.processOp(FileSinkOperator.java:636)
  at org.apache.hadoop.hive.ql.exec.Operator.forward(Operator.java:815)
  at org.apache.hadoop.hive.ql.exec.SelectOperator.processOp(SelectOperator.java:84)
  at org.apache.hadoop.hive.ql.exec.Operator.forward(Operator.java:815)
  at org.apache.hadoop.hive.ql.exec.TableScanOperator.processOp(TableScanOperator.java:98)
  at org.apache.hadoop.hive.ql.exec.MapOperator$MapOpCtx.forward(MapOperator.java:157)
  at org.apache.hadoop.hive.ql.exec.MapOperator.process(MapOperator.java:497)
  at org.apache.hadoop.hive.ql.exec.mr.ExecMapper.map(ExecMapper.java:170)
  at org.apache.hadoop.mapred.MapRunner.run(MapRunner.java:54)
  at org.apache.hadoop.mapred.MapTask.runOldMapper(MapTask.java:459)
  at org.apache.hadoop.mapred.MapTask.run(MapTask.java:343)
  at org.apache.hadoop.mapred.YarnChild$2.run(YarnChild.java:164)
  at java.security.AccessController.doPrivileged(Native Method)
  at javax.security.auth.Subject.doAs(Subject.java:422)
  at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1924)
  at org.apache.hadoop.mapred.YarnChild.main(YarnChild.java:158)
  
  Caused by: java.lang.IllegalArgumentException: field ended by ';': expected ';' but got 'name' at line 1:   optional binary first name
  at parquet.schema.MessageTypeParser.check(MessageTypeParser.java:212)
  at parquet.schema.MessageTypeParser.addPrimitiveType(MessageTypeParser.java:185)
  at parquet.schema.MessageTypeParser.addType(MessageTypeParser.java:111)
  at parquet.schema.MessageTypeParser.addGroupTypeFields(MessageTypeParser.java:99)
  at parquet.schema.MessageTypeParser.parse(MessageTypeParser.java:92)
  at parquet.schema.MessageTypeParser.parseMessageType(MessageTypeParser.java:82)
  at org.apache.hadoop.hive.ql.io.parquet.write.DataWritableWriteSupport.getSchema(DataWritableWriteSupport.java:43)
  at org.apache.hadoop.hive.ql.io.parquet.write.DataWritableWriteSupport.init(DataWritableWriteSupport.java:48)
  at parquet.hadoop.ParquetOutputFormat.getRecordWriter(ParquetOutputFormat.java:310)
  at parquet.hadoop.ParquetOutputFormat.getRecordWriter(ParquetOutputFormat.java:287)
  at org.apache.hadoop.hive.ql.io.parquet.write.ParquetRecordWriterWrapper.&lt;init&gt;(ParquetRecordWriterWrapper.java:69)
  at org.apache.hadoop.hive.ql.io.parquet.MapredParquetOutputFormat.getParquerRecordWriterWrapper(MapredParquetOutputFormat.java:134)
  at org.apache.hadoop.hive.ql.io.parquet.MapredParquetOutputFormat.getHiveRecordWriter(MapredParquetOutputFormat.java:123)
  at org.apache.hadoop.hive.ql.io.HiveFileFormatUtils.getRecordWriter(HiveFileFormatUtils.java:260)
  at org.apache.hadoop.hive.ql.io.HiveFileFormatUtils.getHiveRecordWriter(HiveFileFormatUtils.java:245)
  ... 18 more
  
  org.apache.hadoop.hive.ql.metadata.HiveException: java.lang.IllegalArgumentException: field ended by ';': expected ';' but got 'name' at line 1:   optional binary first name
  at org.apache.hadoop.hive.ql.io.HiveFileFormatUtils.getHiveRecordWriter(HiveFileFormatUtils.java:248)
  at org.apache.hadoop.hive.ql.exec.FileSinkOperator.createBucketForFileIdx(FileSinkOperator.java:583)
  at org.apache.hadoop.hive.ql.exec.FileSinkOperator.createBucketFiles(FileSinkOperator.java:527)
  at org.apache.hadoop.hive.ql.exec.FileSinkOperator.closeOp(FileSinkOperator.java:974)
  at org.apache.hadoop.hive.ql.exec.Operator.close(Operator.java:598)
  at org.apache.hadoop.hive.ql.exec.Operator.close(Operator.java:610)
  at org.apache.hadoop.hive.ql.exec.Operator.close(Operator.java:610)
  at org.apache.hadoop.hive.ql.exec.Operator.close(Operator.java:610)
  at org.apache.hadoop.hive.ql.exec.mr.ExecMapper.close(ExecMapper.java:199)
  at org.apache.hadoop.mapred.MapRunner.run(MapRunner.java:61)
  at org.apache.hadoop.mapred.MapTask.runOldMapper(MapTask.java:459)
  at org.apache.hadoop.mapred.MapTask.run(MapTask.java:343)
  at org.apache.hadoop.mapred.YarnChild$2.run(YarnChild.java:164)
  at java.security.AccessController.doPrivileged(Native Method)
  at javax.security.auth.Subject.doAs(Subject.java:422)
  at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1924)
  at org.apache.hadoop.mapred.YarnChild.main(YarnChild.java:158)
  Caused by: java.lang.IllegalArgumentException: field ended by ';': expected ';' but got 'name' at line 1:   optional binary first name
  at parquet.schema.MessageTypeParser.check(MessageTypeParser.java:212)
  at parquet.schema.MessageTypeParser.addPrimitiveType(MessageTypeParser.java:185)
  at parquet.schema.MessageTypeParser.addType(MessageTypeParser.java:111)
  at parquet.schema.MessageTypeParser.addGroupTypeFields(MessageTypeParser.java:99)
  at parquet.schema.MessageTypeParser.parse(MessageTypeParser.java:92)
  at parquet.schema.MessageTypeParser.parseMessageType(MessageTypeParser.java:82)
  at org.apache.hadoop.hive.ql.io.parquet.write.DataWritableWriteSupport.getSchema(DataWritableWriteSupport.java:43)
  at org.apache.hadoop.hive.ql.io.parquet.write.DataWritableWriteSupport.init(DataWritableWriteSupport.java:48)
  at parquet.hadoop.ParquetOutputFormat.getRecordWriter(ParquetOutputFormat.java:310)
  at parquet.hadoop.ParquetOutputFormat.getRecordWriter(ParquetOutputFormat.java:287)
  at org.apache.hadoop.hive.ql.io.parquet.write.ParquetRecordWriterWrapper.&lt;init&gt;(ParquetRecordWriterWrapper.java:69)
  at org.apache.hadoop.hive.ql.io.parquet.MapredParquetOutputFormat.getParquerRecordWriterWrapper(MapredParquetOutputFormat.java:134)
  at org.apache.hadoop.hive.ql.io.parquet.MapredParquetOutputFormat.getHiveRecordWriter(MapredParquetOutputFormat.java:123)
  at org.apache.hadoop.hive.ql.io.HiveFileFormatUtils.getRecordWriter(HiveFileFormatUtils.java:260)
  at org.apache.hadoop.hive.ql.io.HiveFileFormatUtils.getHiveRecordWriter(HiveFileFormatUtils.java:245)
  ... 16 more
  </code></pre>