我们正在转向AWS EMR / S3并使用R
进行分析(sparklyr
库)。我们在S3中有500GB的销售数据,包含多个产品的记录。我们想要分析几个产品的数据,并希望只读取文件的子集到EMR中。
到目前为止,我的理解是spark_read_csv
将提取所有数据。 R/Python/Hive
是否有办法只读取我们感兴趣的产品的数据?
答案 0 :(得分:0)
简而言之,格式的选择与有效频谱相反。
使用数据
partitionBy
或正确目录结构的DataFrameWriter
选项分区列。bucketBy
和持久性Metastore的DataFrameWriter
选项)聚集。可以帮助缩小对特定分区的搜索范围,但如果filter(product == p1)
具有高度选择性,那么您可能会查看错误的工具。
根据要求:
可能是更好的选择。
您还应该考虑选择更好的存储格式(如Parquet)。