title: Glue job is deleting columns when creating multiple partitions
body: <p>My Glue job reads a table (an S3 csv file) and then partition it and writes 10 Json files on S3. </p>
  
  <p>I noticed that for some lines in the resulted files, some columns are gone! </p>
  
  <p>This is the line: </p>
  
  <pre><code>etalab_named_postgre_csv = glueContext.create_dynamic_frame.from_catalog(database = "db", table_name = "tab", transformation_ctx = "datasource0")
  applymapping_etalab_named_postgre_csv= ApplyMapping.apply(frame = etalab_named_postgre_csv, mappings = [("compldistrib", "string", "compldistrib", "string"), ("numvoie", "long", "numvoie", "long"),....], transformation_ctx = "applymapping1")
  path_s3 = "s3://Bucket"
  etalab_named_postgre_csv = applymapping_etalab_named_postgre_csv.toDF()
  etalab_named_postgre_csv.repartition(10).write.format("json").option("sep",",").option("header", "true").option("mode","Overwrite").save(path_s3)
  </code></pre>
  
  <p>On the output files some of the columns just disappears! </p>
  
  <p>I used Spark on EMR to load the same input table to check the existence of the columns that disappeared. </p>
  
  <p>Is this a common Glue behaviour? How can I prevent that please? </p>
  
  <p><strong>EDIT:</strong> </p>
  
  <p>I am now sure of the problem. </p>
  
  <p>It seems that the Glue mapping is the source of the problem. When I do </p>
  
  <pre><code>applymapping_etalab_named_postgre_csv= ApplyMapping.apply(frame = etalab_named_postgre_csv, mappings = [("compldistrib", "string", "compldistrib", "string"), ("numvoie", "long", "numvoie", "long"),....], transformation_ctx = "applymapping1")
  </code></pre>
  
  <p>I declare that compldistrib is a String and I want it as a String in output. If a row contains a numeric value in compldistrib, the mapping will just ignore it! </p>
  
  <p>Is this a bug?</p>