Je suis en train d'écrire un jeu de données à JSON en utilisant:écrire une étincelle dataSet JSON avec toutes les clés du schéma, y compris les colonnes null
ds.coalesce(1).write.format("json").option("nullValue",null).save("project/src/test/resources")
Pour les enregistrements qui ont des colonnes avec des valeurs nulles, le document JSON ne pas écrire cette clé du tout.
Existe-t-il un moyen d'appliquer des clés de valeur nulle à la sortie json? Ceci est nécessaire puisque j'utilise ce json pour le lire sur un autre jeu de données (dans un cas de test) et que je ne peux pas appliquer un schéma si certains documents n'ont pas toutes les clés dans la classe case (je le lis en mettant le fichier json sous le dossier des ressources et la transformation en un ensemble de données via RDD [String], comme expliqué ici: https://databaseline.bitbucket.io/a-quickie-on-reading-json-resource-files-in-apache-spark/)
Vous pouvez remplacer 'null' par une chaîne vide, puis écrire dans JSON. – philantrovert
essayé, ça ne marche pas. Donc, cela changerait la valeur et les données et je cherche à garder les données intactes –
Donc le fait est que vous pouvez encore remplacer ces chaînes vides par 'null' quand vous recréerez l'image en lisant le fichier JSON. Mais ce serait plus facile si toutes vos colonnes sont 'String'. Sont-ils? – philantrovert