PySpark读取CSV读取错误

时间:2019-05-22 12:50:46

标签: python csv pyspark

我正在尝试将csv文件读取到PySpark DataFrame中。但是,由于某些原因,PySpark CSV加载方法加载的行比预期的多得多。

我尝试同时使用list_of_values_to_be_summed = [] for key in json_dict: string_consumption_value = json_dict[key]['consumption'] # access the value of 'consumption' consumption_value = float(string_consumption_value) # since you have a string, you need to convert it to a float) list_of_values_to_be_summed.append(consumption_value) # append it to a list summed_consumption = sum(list_of_values_to_be_summed) 方法和spark.read方法来获取CSV。

spark.sql
df = pd.read_csv("preprocessed_data.csv")
len(df)

# out: 318477
spark_df = spark.read.format("csv")
                     .option("header", "true")
                     .option("mode", "DROPMALFORMED")
                     .load("preprocessed_data.csv")
spark_df.count()

# out: 6422020

我无法弄清楚为什么它会错误地读取csv,当我显示它们时,它们的列看起来一样,但是行太多了。因此,我正在寻找一种解决此问题的方法。

1 个答案:

答案 0 :(得分:0)

您可以尝试以下方法。我假设您的csv有标题行。

fileName = "my.csv"
sc = SparkContext.getOrCreate()
sqlContext = SQLContext(sc)
df = sqlContext.read.csv(fileName, header=True, inferSchema=True)