使用带有Elasticsearch4hadoop插件的Apache Spark 1.6.4,我正在HDFS 2.7中将Elasticsearch索引(100m文档,100Go,5个分片)导出到压缩后的木地板文件中。
我将此ETL作为Java程序运行,带有1个执行程序(8个CPU,12Go RAM)。
5个任务(因为5个ES分片)的过程大约需要1个小时,大部分时间都可以正常工作,但是有时,我可以看到某些Spark任务失败了,因为 public void ConfigureServices(IServiceCollection services)
{
services.Configure<CookiePolicyOptions>(options =>
{
// This lambda determines whether user consent for non-essential cookies is needed for a given request.
options.CheckConsentNeeded = context => true;
options.MinimumSameSitePolicy = SameSiteMode.None;
});
services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_2);
services.AddDbContext<AppDbContext>(options =>
options.UseSqlServer(Configuration.GetConnectionString("AppDbContext")));
services.AddMvc()
.AddRazorPagesOptions(options =>
{
options.RootDirectory = "/Bank";
});
}
。
在此过程中,我可以在HDFS中看到一些临时文件,但它们的大小始终为0。
问:我想知道Spark是否在写入gz.parquet文件之前将数据保存在内存中?