我正在尝试将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,当我显示它们时,它们的列看起来一样,但是行太多了。因此,我正在寻找一种解决此问题的方法。
答案 0 :(得分:0)
您可以尝试以下方法。我假设您的csv有标题行。
fileName = "my.csv"
sc = SparkContext.getOrCreate()
sqlContext = SQLContext(sc)
df = sqlContext.read.csv(fileName, header=True, inferSchema=True)