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")
)
我有一个已定义的架构,希望使用limit函数引入前X行,但是我一定使用错了。
我尝试在.read之后放置.limit()并收到一个没有属性限制的DataFrameReader对象。
我尝试定义DataFrameReader对象,然后在show()之前使用limit,但是这花费了很长时间,似乎它仍在将整个DF加载到内存中。
我应该如何使用limit()只获取X行?
答案 0 :(得分:0)
错误只是limit()的位置。
应该是:
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)
)