У меня есть таблица .csv, такая как: * Я читаю это с pyspark
schema= StructType([
StructField("identifier", StringType(), True),
StructField("identifier_type", StringType(), True),
StructField("timestamp", DateType(), True),
StructField("device_lat", FloatType(), True),
StructField("device_lon", FloatType(), True)])
myTable = spark.read.format("csv").schema(schema).load('NY_data/f0.csv')
myTable = myTable[myTable['device_lat']>0]
myTable.show(3)
+--------------------+---------------+----------+----------+----------+
| identifier|identifier_type| timestamp|device_lat|device_lon|
+--------------------+---------------+----------+----------+----------+
|68d62a1b-b928-422...| gaid|2020-03-19| 44.80817| -73.52296|
|1675a629-a010-44b...| gaid|2020-03-18| 42.103893|-76.799164|
|0fe7a0b7-028e-459...| gaid|2020-03-18| 43.18203| -77.67202|
+--------------------+---------------+----------+----------+----------+
Почему исчезла информация о минутах, часах и секундах?
Если я попытаюсь ввести TimestampType
вместо DateType
schema= StructType([
StructField("identifier", StringType(), True),
StructField("identifier_type", StringType(), True),
StructField("timestamp", TimestampType(), True),
StructField("device_lat", FloatType(), True),
StructField("device_lon", FloatType(), True)])
myTable = spark.read.format("csv").schema(schema).load('NY_data/f0.csv')
myTable = myTable[myTable['device_lat']>0]
sqlContext.registerDataFrameAsTable(myTable, "myTable")
Вот что я получаю
myTable.show(3)
+----------+---------------+---------+----------+----------+
|identifier|identifier_type|timestamp|device_lat|device_lon|
+----------+---------------+---------+----------+----------+
+----------+---------------+---------+----------+----------+
Тип переменных:
df.dtypes
identifier object
identifier_type object
timestamp object
device_lat float64
device_lon float64
dtype: object