Mes données est comme ceci:Comment lire le fichier json pour déclencher une trame de données sans que ces données aient une valeur nulle dans une colonne?
{"id":"1","time":123,"sth":100}
{"id":"2","sth":456}
{"id":"3","time":789,"sth":300}
Et j'écris mon schéma comme:
StructType(
Array(
StructField("id", StringType, false),
StructField("time", StringType, false),
StructField("sth", StringType, true),
)
)
Et je lis mes données à l'aide:
val df = spark.read.schema(buildSchema()).json(path)
Ce que je veux que mon dataframe ne lit pas ces lignes sans la valeur "time", donc le résultat que je veux est
| id | temps | sth |
| 1 | 123 | 100 |
| 3 | 789 | 300 | Cependant, même si j'ai défini l'attribut nullable comme faux dans mon StructField, il lit toujours la deuxième ligne {"id":"2","sth":456}
dans ma table, et j'ai besoin de perdre du temps pour laisser tomber ces lignes avec une valeur nulle après lecture. Y a-t-il un moyen de faire ce que je veux efficacement?
double possible de [DataFrameReadercsv (path: String) option pour la sauter des lignes vides] (http://stackoverflow.com/questions/43476254/dataframereadercsvpath-string-option- for-skipping-blank-lines) – mtoto