我已经运行了两次相同的应用程序,一次使用社区版(我们只有6GB内存),一次使用一个驱动程序和一个工作人员(60 GB内存,欧盟中央)令人惊讶的是,社区版的应用程序在读取和写入S3数据方面运行速度更快。从apache中读取数据并将数据写入S3中的火花
我还没有找到任何解释这个不好的结果,因为我们的集群比社区版功能强大得多,我甚至尝试过一个驱动程序,一个工人(高达60),它将需要比社区版多很多。我们使用S3作为应用程序中的一个数据源,我们读取了900万行.csv文件,对其进行一些分析,然后再将结果写在S3上,因为我们已经将存储桶装载到bdf。
df=sqlContext.read.format('com.databricks.spark.csv').options(delimiter=',',header='true',inferschema='true').load("dbfs:/mnt/mount1/2016/rrdb_succesful_sales/*")
我用它来写S3代码:
top_profit_product.coalesce(1).write.csv("dbfs:/mnt/mount2/tappalytics/profitability_report/weekly/top_profit_product",mode='overwrite',header=True)
我不”认为会有我的代码有什么问题,是什么呢?有什么建议?
结果文件的大小是多少?两种选择需要多少时间? S3文件在哪里找到?美国还是欧盟? – Yaron
@Yaron S3我读到的S3位于新加坡,我写的S3位于法兰克福,社区版在我们西部,而我的司机,工人在法兰克福。我想要读取的CVS文件有大约900万行,如果您正在处理不同位置的数据,那么可能需要15到20分钟的时间才能与我的真实群集一起阅读,并且大约需要6到8分钟的社区版本 – sanaz
采取长途链路的带宽开销,延迟设置HTTPS连接并支付读取费用。避免。 –