SparkDataFrame.dtypes не работает, если столбец имеет специальные символы. Как обойти и прочитать csv и inferschema

Вывод схемы кадра данных Spark выдает ошибку, если в файле csv есть столбец со специальными символами.

Тестовый образец foo.csv

id,комментарий 1, #Привет 2, Привет

spark = SparkSession.builder.appName("footest").getOrCreate()
df= spark.read.load("foo.csv", format="csv", inferSchema="true", header="true")
print(df.dtypes)

raise ValueError("Could not parse datatype: %s" % json_value)

Я нашел комментарий от Dat Tran на inferSchema в пакете spark csv, как решить это... не можем ли мы еще inferschema перед очисткой данных?


person Binu    schedule 28.01.2020    source источник


Ответы (1)


Используйте это так:

from pyspark.sql import SparkSession

spark = SparkSession.builder.appName('Test').enableHiveSupport().getOrCreate()

df = spark.read.format("csv").option("inferSchema", "true").option("header", "true").load("test19.csv")
print(df.dtypes)

Output:

[('id', 'int'), ('comment', 'string')]
person Ghost    schedule 28.01.2020