> system.time({FILE<-spark_read_csv(sc,"FILE",file.path("DATA/FILE.csv"),memory = FALSE)})
user system elapsed
0.16 0.04 1017.11
> system.time({spark_write_parquet(FILE, file.path("DATA/FILE.parquet"),mode='overwrite')})
user system elapsed
0.92 1.48 1267.72
> system.time({FILE<-spark_read_parquet(sc,"FILE", file.path("DATA/FILE.parquet"),memory = FALSE)})
user system elapsed
0.00 0.00 0.26
当使用memory=false
调用spark_read_csv
时,不保存数据。延迟与数据加载本身无关,而是与架构推断过程有关,这需要单独的数据扫描。
尽管使用模式推理很方便,但显式提供模式作为命名向量,从列名到to类型的简单字符串的映射在性能方面要好得多。例如,如果要以local
模式加载iris数据集:
path <- tempfile()
readr::write_csv(iris, path)
你会用
spark_read_csv(
sc, "iris", path, infer_schema=FALSE, memory = FALSE,
columns = c(
Sepal_Length = "double", Sepal_Width = "double",
Petal_Length = "double", Petal_Width = "double",
Species = "string"))
我有以Avro格式存储的Kafka主题。我想使用整个主题(在收到时不会更改任何消息)并将其转换为Parket,直接保存在S3上。 我目前正在这样做,但它要求我每次消费一条来自Kafka的消息,并在本地机器上处理,将其转换为拼花文件,一旦整个主题被消费,拼花文件完全写入,关闭写入过程,然后启动S3多部分文件上传。或《Kafka》中的阿夫罗- 我想做的是《Kafka》中的阿夫罗- 注意事项之一是Kaf
我正在从Impala迁移到SparkSQL,使用以下代码读取一个表: 我如何调用上面的SparkSQL,这样它就可以返回这样的东西:
我有以下代码,它从Marketo系统中获取一些数据 这将返回给我以下数据 我想做的是,保存这个返回到一个拼花文件。但是当我用下面的代码尝试时,我收到了一条错误消息。 我做错了什么?
我正在尝试将spark dataframe转换为sparklyr表。我尝试使用,但失败了,出现以下错误。 在这里,df是spark DataFrame。 我漏掉什么了吗?或者有没有更好的方法将其转换为? 谢了!
我们需要每天将文本数据转换为拼花地板/avro,如果输入来自多个具有不同结构的源,我们希望使用基于spark sql的scala代码来实现这一点,而不考虑分隔符和列数或结构。
由于,我检查了一个spark作业的输出拼花文件,该作业总是会发出声音。我在Cloudera 5.13.1上使用了 我注意到拼花地板排的大小是不均匀的。第一排和最后一排的人很多。剩下的真的很小。。。 拼花地板工具的缩短输出,: 这是已知的臭虫吗?如何在Spark中设置拼花地板块大小(行组大小)? 编辑: Spark应用程序的作用是:它读取一个大的AVRO文件,然后通过两个分区键(使用