SparkDataFrame.dtypes завершается ошибкой, если в столбце есть специальные символы .. как обойти и прочитать csv и inferschema - PullRequest
0 голосов
/ 28 января 2020

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

Тестовый пример foo.csv

id, комментарий 1, #Hi 2, Hello

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 как решить эту проблему ... разве мы не можем до сих пор выводить логическую схему до появления данных?

1 Ответ

0 голосов
/ 28 января 2020

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

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')]
...