DataPrame Pyspark: загрузить из CSV, а затем удалить первую строку - PullRequest
0 голосов
/ 20 марта 2020

Я могу загрузить CSV-файл из файла данных Azure в фрейм данных pyspark. Как удалить первую строку и сделать вторую строку моим заголовком?

Я видел какое-то решение СДР. Но я не могу загрузить файл и получаю сообщение об ошибке, используя следующий код: «СДР пуста»

items = sc.textFile(f"abfss://{container}@{storage_account_name}.dfs.core.windows.net/tmp/items.csv")
firstRow=data.first()

Поэтому я предпочитаю загружать с использованием стандартной свечи, как показано ниже. Я мог бы отобразить содержимое кадра данных. Я должен удалить или удалить первую строку и сделать 2-й ряд в качестве заголовка. Спасибо.

items= spark.read.format("csv").load(f"abfss://{container}@{storage_account_name}.dfs.core.windows.net/tmp/items.csv", header=True)

1 Ответ

1 голос
/ 20 марта 2020

Попробуйте:

Это не оптимизированное решение, но оно решит требование.

df = spark.createDataFrame([(1,2,3),(4,5,6),(7,8,9)],['a','b','c'])
df.show()

enter image description here

df1 = df.rdd.zipWithIndex().toDF().where(F.col('_2') > 0).drop('_2')
for each_col in df.columns:
     df1 = df1.withColumn(each_col, F.col('_1.'+each_col))

df1.drop('_1').show()

enter image description here

...