Взять образец фрейма данных с помощью Limit в PySpark? - PullRequest
0 голосов
/ 01 сентября 2018
schema_comment= StructType([
    StructField("id", StringType(), True),
    StructField("date", DateType(), True),
    StructField("comment", StringType(), True),

])


commentdf = (
    spark.read.limit(50)
    .format("com.databricks.spark.csv")
    .option("header", "false")
    .option("inferSchema", "false")
    .schema(schema_comment)
    .load("hdfs:///data/ghcnd/comment.csv")
)

У меня есть определенная схема, и я собираюсь ввести первые X строк с помощью функции limit, но я должен использовать ее неправильно.

Я попытался поместить .limit () после .read и получил объект DataFrameReader без ограничения атрибута.

Я пытался определить объект DataFrameReader и затем использовать limit перед show (), но это занимает так много времени, что кажется, что он все еще загружает весь DF в память.

Как мне использовать limit () для выборки только X строк?

1 Ответ

0 голосов
/ 01 сентября 2018

Ошибка была просто в расположении лимита ().

Должно быть:

commentdf = (
    spark.read
    .format("com.databricks.spark.csv")
    .option("header", "false")
    .option("inferSchema", "false")
    .schema(schema_comment)
    .load("hdfs:///data/ghcnd/comment.csv")
    .limit(50)
)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...