Reading without schema struct will read lat/lng as string:

 

 

 

 

root
 |-- bot: boolean (nullable = true)
 |-- channel: string (nullable = true)
 |-- chills: string (nullable = true)
 |-- cookies: map (nullable = true)
 |    |-- key: string
 |    |-- value: string (valueContainsNull = true)
 |-- geo: struct (nullable = true)
 |    |-- city: string (nullable = true)
 |    |-- country: string (nullable = true)
 |    |-- region: string (nullable = true)
 |    |-- latitude: float (nullable = true)
 |    |-- longitude: float (nullable = true)
 |-- ip: string (nullable = true)
 |-- timestamp: long (nullable = true)
 |-- ua: string (nullable = true)
 |-- url: string (nullable = true)
 |-- user_id: string (nullable = true)
 |-- vibes: string (nullable = true)
 |-- date_partition: string (nullable = true)
 |-- filename: string (nullable = true)

 

 

 

 

they are defined as:

        "latitude": -1.924868,
        "longitude": 25.424055

Also reading without schema will not nullify the user_id field