在对csv文件进行性能分析时,无法区分数据类型,仅将每个文件都作为字符串提供
我尝试了以下代码
rdd = sc.textFile(file)
header = rdd.first()
rdd = rdd.filter(lambda x: x != header)
rdd1 = rdd.mapPartitions(lambda x: csv.reader(x))
spark_df = rdd1.toDF(header.split(','))
完成CSV文件的分析后,我得到的所有文件仅是字符串,无法标识为数字,日期
答案 0 :(得分:1)
函数textFile()
不支持架构推断。
如果您正在从结构化的源(例如csv)中读取内容,请改用sc.read.csv
,它支持架构推断。
您的代码为:
df = sc.read.option("header", "true").option("inferSchema", "true").csv(file)