เบงเบดเบเบตเบเบฒเบเบญเปเบฒเบเบเบปเบเบเบงเบฒเบกเบเบตเป: เบเปเบญเบเบเปเปเบเบเบเบตเปเบเปเปเบเบงเบฒเบกเบเบฒเบง เปเบฅเบฐเบงเบธเปเบเบงเบฒเบ. เปเบเบทเปเบญเบเบฐเบซเบเบฑเบเปเบงเบฅเบฒเบเบญเบเปเบเบปเปเบฒ, เบเปเบญเบเปเบฅเบตเปเบกเบเบปเปเบเปเบเปเบฅเบฐเบเบปเบเบเปเบงเบเบเบฒเบเปเบเบฐเบเปเบฒ "เบชเบดเปเบเบเบตเปเบเปเบญเบเปเบเปเบฎเบฝเบเบฎเบนเป", เปเบเบดเปเบเบชเบฐเบซเบผเบธเบเบเบงเบฒเบกเบชเปเบฒเบเบฑเบเบเบญเบเบเบปเบเปเบเบซเบเบถเปเบเบซเบผเบทเบชเบญเบเบเบฐเปเบซเบเบ.
"เบเบฝเบเปเบเปเบชเบฐเปเบเบเปเบซเปเบเปเบญเบเปเบซเบฑเบเบงเบดเบเบตเปเบเปเปเบ!" เบเปเบฒเบเปเบฒเบเบเปเบญเบเบเบฒเบเปเบเบดเปเบเบเปเบญเบเบเบตเปเบเปเบญเบเบกเบฒเบเบฒเบ, เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบเปเบซเปเบเปเบฒเบกเปเบเบซเบฒเบเบปเบ "เบเบฒเบเปเบเบฑเบเบชเบดเปเบเบเบฐเบเบดเบเปเบเบตเปเบกเปเบเบตเบก," เปเบเปเบเปเบญเบเบเบดเบเบงเปเบฒเบกเบฑเบเบซเบเปเบฒเบชเบปเบเปเบเปเบฅเบฐเปเบเบฑเบเบเบฐเปเบซเบเบเบเบงเปเบฒเบเบตเปเบเบฐเบญเปเบฒเบเบเปเบฝเบงเบเบฑเบเบเบงเบฒเบกเบฅเบปเปเบกเปเบซเบฅเบง.
เบเปเปเบเบปเบเบกเบฒเบเบตเปเบเปเบฒเบเบฐเปเบเบปเปเบฒเปเบเปเบฎเบฑเบเบกเบญเบเบซเบกเบฒเบเปเบซเปเบชเปเบฒเบเบเบฑเปเบเบเบฐเบเบงเบเบเบฒเบเบชเปเบฒเบฅเบฑเบเบเบฒเบเบเบธเบเปเบเปเบเบเปเบฒเบเบงเบเบเบฐเบซเบเบฒเบเปเบซเบเปเบเบญเบเบฅเปเบฒเบเบฑเบ DNA เบเบดเบ (เบเบฒเบเบเปเบฒเบเปเบเบฑเบเบเบดเบเปเบเบฑเบเบเบดเบ SNP). เบเบงเบฒเบกเบเปเบญเบเบเบฒเบเปเบกเปเบเปเบเบทเปเบญเปเบเปเบฎเบฑเบเบเปเปเบกเบนเบเบขเปเบฒเบเปเบงเบงเบฒเบเปเบฝเบงเบเบฑเบเบชเบฐเบเบฒเบเบเบตเปเบเบฑเบเบเบธเบเปเบฒ (เปเบญเบตเปเบเบงเปเบฒ SNP) เบชเปเบฒเบฅเบฑเบเบเบฒเบเบชเปเบฒเบเปเบเบเบเปเบฒเบฅเบญเบเบเปเปเปเบเปเบฅเบฐเบงเบฝเบเบเบฒเบเบญเบทเปเบเป. เบเบฒเบเบเปเบฒเปเบเป R เปเบฅเบฐ AWK, เบเปเบญเบเบชเบฒเบกเบฒเบเปเบฎเบฑเบเบเบงเบฒเบกเบชเบฐเบญเบฒเบเปเบฅเบฐเบเบฑเบเบฅเบฐเบเบฝเบเบเปเปเบกเบนเบเปเบเปเบเบเบเปเบฒเบกเบฐเบเบฒเบ, เปเบฅเบฑเปเบเบเบฒเบเบเบธเบเปเบเปเบเบเปเบฒเบเบฒเบกเบขเปเบฒเบเบซเบผเบงเบเบซเบผเบฒเบ. เบเบตเปโเบเปเปโเปเบกเปเบโเปเบฅเบทเปเบญเบโเบเปเบฒเบโเบชเปเบฒโเบฅเบฑเบโเบเปเบฒโเบเบฐโเปเบเบปเปเบฒโเปเบฅเบฐโเบเปเบฒโเปเบเบฑเบโเบเปเบญเบโเบกเบตโเบเบฒเบโเปเบฎเบฑเบโเบงเบฝเบโเบเปเบฒโเบเบงเบโเบซเบผเบฒเบโ. เบเบปเบเบเบงเบฒเบกเบเบตเปเบเบฐเบเปเบงเบเปเบซเปเบเปเบฒเบเบซเบผเบตเบเปเบงเบฑเปเบเบเบฒเบเบเบงเบฒเบกเบเบดเบเบเบฒเบเบเบญเบเบเปเบญเบเปเบฅเบฐเบชเบฐเปเบเบเปเบซเปเบเปเบฒเบเปเบซเบฑเบเบชเบดเปเบเบเบตเปเบเปเบญเบเบเบปเบเบฅเบปเบ.
เบซเบเปเบฒเบเปเบฒเบญเบดเบ, เบเบฒเบเบเปเบฒเบญเบฐเบเบดเบเบฒเบเปเบเบฐเบเปเบฒ.
เบเปเปเบกเบนเบ
เบชเบนเบเบเบฐเบกเบงเบเบเบปเบเบเปเปเบกเบนเบเบเบฑเบเบเบธเบเปเบฒเบเบญเบเบกเบฐเบซเบฒเบงเบดเบเบฐเบเบฒเปเบฅเบเบญเบเบเบงเบเปเบฎเบปเบฒเปเบเปเบชเบฐเปเบญเบเบเปเปเบกเบนเบเปเบซเปเบเบงเบเปเบฎเบปเบฒเปเบเบฎเบนเบเปเบเบเบเบญเบ TSV 25 TB. เบเปเบญเบเปเบเปเบฎเบฑเบเบเบงเบเบกเบฑเบเปเบเปเบเบญเบญเบเปเบเบฑเบ 5 เบเบธเบ, เบเบทเบเบเบตเบเบญเบฑเบเปเบเบ Gzip, เปเบเปเบฅเบฐเปเบเบฅเปเบกเบตเบเบฐเบกเบฒเบ 240 เปเบเบฅเปเบชเบตเปเบเบดเบเบฒเปเบ. เปเบเปเบฅเบฐเปเบเบงเบกเบตเบเปเปเบกเบนเบเบชเปเบฒเบฅเบฑเบเบซเบเบถเปเบ SNP เบเบฒเบเบเบธเบเบเบปเบเบซเบเบถเปเบ. เปเบเบเปเบฒเบเบงเบเบเบฑเบเบซเบกเบปเบ, เบเปเปเบกเบนเบเบเปเบฝเบงเบเบฑเบ ~ 2,5 เบฅเปเบฒเบ SNPs เปเบฅเบฐ ~ 60 เบเบฑเบเบเบปเบเปเบเปเบเบทเบเบเปเบฒเบเบเบญเบ. เบเบญเบเปเบซเบเบทเบญเปเบเบเบฒเบเบเปเปเบกเบนเบ SNP, เปเบเบฅเปเบกเบตเบเปเบฅเปเบฒเบเปเบฒเบเบงเบเบซเบฅเบฒเบเบเบตเปเบกเบตเบเบปเบงเปเบฅเบเบชเบฐเบเปเบญเบเปเบซเปเปเบซเบฑเบเปเบเบดเบเบฅเบฑเบเบชเบฐเบเบฐเบเปเบฒเบเป, เปเบเบฑเปเบ: เบเบงเบฒเบกเปเบเบฑเปเบกเบเบปเปเบเบเบญเบเบเบฒเบเบญเปเบฒเบ, เบเบงเบฒเบกเบเบตเปเบเบญเบ alleles เบเบตเปเปเบเบเบเปเบฒเบเบเบฑเบ, เปเบฅเบฐเบญเบทเปเบเป. เปเบเบเปเบฒเบเบงเบเบเบฑเบเบซเบกเบปเบเบกเบตเบเบฐเบกเบฒเบ 30 เบเบฑเบเบเบตเปเบกเบตเบกเบนเบเบเปเบฒเปเบเบฑเบเปเบญเบเบฐเบฅเบฑเบ.
เปเบเบปเปเบฒเบซเบกเบฒเบ
เปเบเบฑเปเบเบเบฝเบงเบเบฑเบเบเบฑเบเปเบเบเบเบฒเบเบเบฒเบเบเบธเปเบกเบเบญเบเบเปเปเบกเบนเบเปเบเบเปเปเบเบฒเบก, เบชเบดเปเบเบเบตเปเบชเปเบฒเบเบฑเบเบเบตเปเบชเบธเบเปเบกเปเบเบเบฒเบเบเปเบฒเบเบปเบเบงเบดเบเบตเบเบฒเบเบเปเบฒเปเบเปเบเปเปเบกเบนเบ. เปเบโเบเปโเบฅเบฐโเบเบตโเบเบตเป เบเบงเบเปเบฎเบปเบฒเบชเปเบงเบเบซเบผเบฒเบเบเบฐเปเบฅเบทเบญเบเปเบเบเบเปเบฒเบฅเบญเบเปเบฅเบฐเบเบฑเปเบเบเบญเบเบเบฒเบเปเบฎเบฑเบเบงเบฝเบเบชเปเบฒเบฅเบฑเบ SNP เปเบเบเบญเบตเบเปเบชเป SNP. เบเบฑเปเบเปเบกเปเบ, เบเบงเบเปเบฎเบปเบฒเบเบฐเบเปเบญเบเบเบฒเบเบเปเปเบกเบนเบเบเบฝเบเปเบเปเบซเบเบถเปเบ SNP เปเบเปเบงเบฅเบฒเบเบฝเบง. เบเปเบญเบเบเปเบญเบเบฎเบฝเบเบฎเบนเปเบงเบดเบเบตเบเบฒเบเบเบถเบเปเบญเบปเบฒเบเบฑเบเบเบถเบเบเบฑเบเบซเบกเบปเบเบเบตเปเบเปเบฝเบงเบเปเบญเบเบเบฑเบเบซเบเบถเปเบเปเบ 2,5 เบฅเปเบฒเบ SNPs เปเบเปเบเปเบฒเบ, เปเบงเปเบฅเบฐเบฅเบฒเบเบฒเบเบทเบเบเบตเปเบชเบธเบเปเบเบปเปเบฒเบเบตเปเปเบเบฑเบเปเบเปเบเป.
เปเบฎเบฑเบเปเบเบงเปเบเบเปเปเปเบซเปเปเบฎเบฑเบเปเบเบงเบเบตเป
เปเบเบทเปเบญเบญเปเบฒเบเปเบเบดเบ clichรฉ เบเบตเปเปเบซเบกเบฒเบฐเบชเบปเบก:
เบเปเบฒเบเบฐเปเบเบปเปเบฒเบเปเปเปเบเปเบฅเบปเปเบกเปเบซเบฅเบงเปเบเบฑเบเบเบฑเบเปเบเบทเปเบญ, เบเปเบฒเบเบฐเปเบเบปเปเบฒเบเบฝเบเปเบเปเบเบปเปเบเบเบปเบเบซเบเบถเปเบเบเบฑเบเบงเบดเบเบตเปเบเบทเปเบญเบซเบผเบตเบเปเบงเบฑเปเบเบเบฒเบเปเบเบเปเบเบฐเบเปเปเบกเบนเบเปเบเบฎเบนเบเปเบเบเบเบตเปเปเบเบฑเบเบกเบดเบเบเบฑเบเบเปเบฒเบเบฒเบก.
เบเบฐเบเบฒเบเบฒเบก เบเบณ เบญเบดเบ
เบเปเบญเบเปเบเปเบฎเบฝเบเบฎเบนเปเบซเบเบฑเบ: เบเปเปเบกเบตเบงเบดเบเบตเบเบตเปเบฅเบฒเบเบฒเบเบทเบเบเบตเปเบเบฐเบงเบดเปเบเบฒเบฐ 25 TB เปเบเปเบงเบฅเบฒเบเบฝเบง.
เปเบเบเปเบเปเบฎเบฑเบเบซเบผเบฑเบเบชเบนเบ "เบงเบดเบเบตเบเบฒเบเบเบฑเปเบเบชเบนเบเบชเปเบฒเบฅเบฑเบเบเบฒเบเบเบธเบเปเบเปเบเบเปเปเบกเบนเบเปเบซเบเป" เบขเบนเปเบกเบฐเบซเบฒเบงเบดเบเบฐเบเบฒเปเบฅ Vanderbilt, เบเปเบฒเบเบฐเปเบเบปเปเบฒเปเบเปเปเบเบงเปเบฒ trick เปเบกเปเบเบขเบนเปเปเบเบเบปเบ. เบกเบฑเบเบญเบฒเบเบเบฐเปเบเปเปเบงเบฅเบฒเบซเบเบถเปเบเบเบปเปเบงเปเบกเบเบซเบผเบทเบชเบญเบเบเบปเปเบงเปเบกเบเปเบเบทเปเบญเบเบฑเปเบเบเปเบฒเปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบ Hive เปเบเบทเปเบญเบเปเบฒเปเบเบตเบเบเบฒเบเบเปเบฒเบเบเปเปเบกเบนเบเบเบฑเบเบซเบกเบปเบเปเบฅเบฐเบฅเบฒเบเบเบฒเบเบเบปเบเปเบเปเบฎเบฑเบ. เปเบเบทเปเบญเบเบเบฒเบเบเปเปเบกเบนเบเบเบญเบเบเบงเบเปเบฎเบปเบฒเบเบทเบเปเบเบฑเบเปเบงเปเปเบ AWS S3, เบเปเบญเบเปเบเปเปเบเปเบเปเบฅเบดเบเบฒเบ
เบซเบผเบฑเบเบเบฒเบเบเบตเปเบเปเบญเบเบชเบฐเปเบเบ Athena เบเปเปเบกเบนเบเบเบญเบเบเปเบญเบเปเบฅเบฐเบฎเบนเบเปเบเบเบเบญเบเบกเบฑเบ, เบเปเบญเบเปเบเปเบเปเบฒเปเบเบตเบเบเบฒเบเบเบปเบเบชเบญเบเบเบฒเบเบขเปเบฒเบเบเปเบงเบเบเบฒเบเบชเบญเบเบเบฒเบกเปเบเบฑเปเบเบเบตเป:
select * from intensityData limit 10;
เปเบฅเบฐเปเบงเปเบเปเบฎเบฑเบเบเบปเบเปเบเปเบฎเบฑเบเบเบตเปเบกเบตเปเบเบเบชเปเบฒเบเบเบตเปเบเบต. เบเปเบญเบก.
เบเบปเบเบเปเบงเบฒเบเบงเบเปเบฎเบปเบฒเบเบฐเบเบฒเบเบฒเบกเบเปเบฒเปเบเปเบเปเปเบกเบนเบเปเบเบเบฒเบเปเบฎเบฑเบเบงเบฝเบเบเบญเบเบเบงเบเปเบฎเบปเบฒ ...
เบเปเบญเบเปเบเปเบเบทเบเบเปเปเบซเปเบเบถเบเบเปเปเบกเบนเบ SNP เบเบฑเบเบซเบกเบปเบเบญเบญเบเปเบเบทเปเบญเบเบปเบเบชเบญเบเบเบปเบงเปเบเบ. เบเปเบฒเบเบฐเปเบเบปเปเบฒเปเบเปเบเปเบฒเปเบเบตเบเบเบฒเบเบชเบญเบเบเบฒเบก:
select * from intensityData
where snp = 'rs123456';
...เปเบฅเบฐเปเบฅเบตเปเบกเบฅเปเบเปเบฒ. เบซเบผเบฑเบเบเบฒเบเปเบเบเบเบฒเบเบตเปเบฅเบฐเบซเบผเบฒเบเบเบงเปเบฒ 4 TB เบเบญเบเบเปเปเบกเบนเบเบเบตเปเบฎเปเบญเบเบเป, เบเปเบญเบเปเบเปเบฎเบฑเบเบเบปเบเปเบเปเบฎเบฑเบ. Athena เบเบดเบเบเปเบฒเบเปเบฅเบดเบเบฒเบเปเบเบเบเบฐเบฅเบดเบกเบฒเบเบเปเปเบกเบนเบเบเบตเปเบเบปเบเปเบซเบฑเบ, $5 เบเปเป terabyte. เบเบฑเปเบเบเบฑเปเบเบเปเบฒเบฎเปเบญเบเบเปเบเบฝเบงเบเบตเปเบกเบตเบกเบนเบเบเปเบฒ $20 เปเบฅเบฐเบเบฒเบเบฅเปเบเปเบฒเปเบเบเบเบฒเบเบต. เปเบเบทเปเบญเบเปเบฒเปเบเบตเบเบเบฒเบเบเบปเบงเปเบเบเปเบเบเปเปเบกเบนเบเบเบฑเบเบซเบกเบปเบ, เบเบงเบเปเบฎเบปเบฒเบเปเบญเบเบฅเปเบเปเบฒ 38 เบเบตเปเบฅเบฐเบเปเบฒเบเปเบเบดเบ 50 เบฅเปเบฒเบเปเบเบฅเบฒ, เปเบเปเบเบญเบ, เบเบตเปเบเปเปเปเบซเบกเบฒเบฐเบชเบปเบกเบชเปเบฒเบฅเบฑเบเบเบงเบเปเบฎเบปเบฒ.
เบกเบฑเบเบเปเบฒเปเบเบฑเบเบเปเบญเบเปเบเป Parquet ...
เบเปเบญเบเปเบเปเบฎเบฝเบเบฎเบนเปเบซเบเบฑเบ: เบเบปเปเบเบฅเบฐเบกเบฑเบเบฅเบฐเบงเบฑเบเบเบฑเบเบเบฐเบซเบเบฒเบเบเบญเบเปเบเบฅเป Parquet เบเบญเบเบเปเบฒเบเปเบฅเบฐเบญเบปเบเบเบฒเบเบเบฑเบเบเบฑเปเบเบเบญเบเบเบงเบเปเบเบปเบฒ.
เบเปเบฒเบเบฐเปเบเบปเปเบฒเบเปเบฒเบญเบดเบเบเบฐเบเบฒเบเบฒเบกเปเบเปเปเบเบชเบฐเบเบฒเบเบฐเบเบฒเบเปเบเบเบเบฒเบเบเปเบฝเบ TSVs เบเบฑเบเบซเบกเบปเบเปเบเบฑเบ
เบเปเบญเบเปเบฅเปเบเบงเบฝเบเบเปเบฒเบเป
เบซเบเปเบฒเบชเบปเบเปเบ, เบเบฐเปเบเบเบเบฒเบเบเบตเบเบญเบฑเบเปเบเบเปเบฅเบตเปเบกเบเบปเปเบ (เปเบฅเบฐเปเบเบฐเบเปเบฒ) เบเบญเบ Parquet, snappy, เบเปเปเบชเบฒเบกเบฒเบเปเบเปเบเบเบฑเบเปเบเป. เบเบฑเปเบเบเบฑเปเบ, เบเบนเปเบเบฐเบเบดเบเบฑเบเปเบเปเบฅเบฐเบเบปเบเปเบเปเบเบดเบเบขเบนเปเปเบเบงเบฝเบเบเบฒเบเบเบญเบ unpacking เปเบฅเบฐเบเบฒเบงเปเบซเบผเบเบเบธเบเบเปเปเบกเบนเบ 3,5 GB เปเบเบฑเบก.
เปเบซเปเปเบเบปเปเบฒเปเบเบเบฑเบเบซเบฒ
เบเปเบญเบเปเบเปเบฎเบฝเบเบฎเบนเปเบซเบเบฑเบ: เบเบฒเบเบเบฑเบเบฅเบฝเบเปเบกเปเบเบกเบตเบเบงเบฒเบกเบซเบเบธเปเบเบเบฒเบ, เปเบเบเบชเบฐเปเบเบฒเบฐเบเปเบฒเบเปเปเบกเบนเบเบเบทเบเปเบเบเบขเบฒเบ.
เบกเบฑเบเปเบเบดเปเบเบเบทเบงเปเบฒเบเปเบญเบเบเบญเบเบเบตเปเบเปเบญเบเปเบเบปเปเบฒเปเบเปเบเบดเบเบเบงเบฒเบกเบชเปเบฒเบเบฑเบเบเบญเบเบเบฑเบเบซเบฒ. เบเปเบญเบเบเบฝเบเปเบเปเบเปเบญเบเบเบฒเบเบเบฑเบเบฎเบฝเบเบเปเปเบกเบนเบเปเบเบเบเบฑเบ SNP, เบเปเปเปเบกเปเบเปเบเบเบเบปเบ. เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบ, SNPs เบซเบผเบฒเบเบเบฐเบเบทเบเปเบเบฑเบเปเบงเปเปเบเบเบธเบเบเปเปเบกเบนเบเปเบเบเบเปเบฒเบเบซเบฒเบ, เปเบฅเบฐเบซเบผเบฑเบเบเบฒเบเบเบฑเปเบเบซเบเปเบฒเบเบตเป "smart" เบเบญเบ Parquet "เปเบเบตเบเบเบฝเบเปเบเปเบเปเบฒเบกเบนเบเบเปเบฒเบขเบนเปเปเบเบเบญเบเปเบเบ" เบเบฐเบชเบฐเปเบเบเบเบปเบงเปเบญเบเปเบเบเบงเบฒเบกเบชเบฐเบซเบเปเบฒเบเบฒเบกเบเบญเบเบกเบฑเบ. เปเบเปเบซเบเปเบฒเปเบชเบเบเบฒเบ, เบเบฒเบเบเบฑเบเบฎเบฝเบเบเปเบฒเบเบซเบผเบฒเบเบเบทเปเปเบเบงเบเบตเปเบเบฐเปเบเบเบเบฐเบเบฒเบเปเบเบเบปเปเบงเบเบธเปเบกเปเบเปเบเบดเบชเบนเบเบงเปเบฒเปเบเบฑเบเบงเบฝเบเบเบตเปเบเบฒเบ.
เบเปเบญเบเบฎเบฝเบ algorithms เบขเบนเปเปเบเบงเบดเบเบฐเบเบฒเปเบฅ: "Ugh, เบเปเปเบกเบตเปเบเบชเบปเบเปเบเบเบฑเบเบเบงเบฒเบกเบชเบฑเบเบชเบปเบเบเบญเบเบเบญเบกเบเบดเบงเปเบเบตเปเบเบญเบ algorithms เบเบฒเบเบเบฑเบเบฅเบฝเบเปเบซเบผเบปเปเบฒเบเบตเป"
เบเปเบญเบเบเบฐเบเบฒเบเบฒเบกเบเบฑเบเบฎเบฝเบเบขเบนเปเปเบเบเบฑเบเปเบ 20TB
#เบเบธเบเบเบฐเบเบฒเบ เบเบฒเบเบฐเบฅเบฒเบ: "เปเบเบฑเบเบซเบเบฑเบเบกเบฑเบเปเบเปเปเบงเบฅเบฒเบเบปเบ?"#เบเปเปเบกเบนเบเบงเบดเบเบฐเบเบฒเบชเบฒเบ เบเบตเปเบเบฅเบปเบ.โ Nick Strayer (@NicholasStrayer)
เบกเบตเบเบฒ 11, 2019
เปเบเปเบเบญเบ AWS เบเปเปเบเปเบญเบเบเบฒเบเบญเบญเบเปเบเบดเบเบเบทเบเบเปเบญเบเปเบซเบเบเบปเบ "เบเปเบญเบเปเบเบฑเบเบเบฑเบเบฎเบฝเบเบเบตเปเบเบทเบเบฅเบปเบเบเบงเบ". เบซเบผเบฑเบโเบเบฒเบโเบเบตเปโเบเปเบฒโเบเบฐโเปเบเบปเปเบฒโเปเบฅเปเบโเบเบฑเบโเบฅเบฝเบโเบฅเปเบฒโเบเบฑเบโเปเบ Amazon Glueโ, เบกเบฑเบโเปเบฅเปเบโเบชเปเบฒโเบฅเบฑเบ 2 เบกเบทเปโเปเบฅเบฐ crashedโ.
เบเบฐเปเบเบฑเบเปเบเบงเปเบเบเปเบฝเบงเบเบฑเบเบเบฒเบเปเบเปเบเบชเปเบงเบ?
เบเปเบญเบเปเบเปเบฎเบฝเบเบฎเบนเปเบซเบเบฑเบ: Partitions เปเบ Spark เบเปเบญเบเบกเบตเบเบงเบฒเบกเบชเบปเบกเบเบนเบ.
เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบ, เบเปเบฒเบเบฐเปเบเบปเปเบฒเปเบเปเบกเบฒเบเบฑเบเบเบงเบฒเบกเบเบดเบเบเบญเบเบเบฒเบเปเบเปเบเบเบฑเบเบเปเปเบกเบนเบเปเบเปเบเปเบกเปเบเบก. เบกเบต 23 เบเบญเบเบเบงเบเปเบเบปเบฒ (เปเบฅเบฐเบญเบตเบเบซเบผเบฒเบเปเบญเบฑเบเบเปเบฒเบเปเบฒเบเบเปเบฒเบเบถเบเปเบเบดเบ DNA mitochondrial เปเบฅเบฐเบเบฒเบเบเบทเปเบเบเบตเปเบเปเปเบกเบตเปเบเบเบเบตเป).
เบเบตเปเบเบฐเบเปเบงเบเปเบซเปเบเปเบฒเบเบชเบฒเบกเบฒเบเปเบเบเบเปเปเบกเบนเบเบญเบญเบเปเบเบฑเบเบเปเบญเบเบเปเบญเบ. เบเปเบฒเบเปเบฒเบเปเบเบตเปเบกเบเบฝเบเปเบเปเบซเบเบถเปเบเปเบชเบฑเปเบเปเบชเปเบซเบเปเบฒเบเบตเปเบชเบปเปเบเบญเบญเบ Spark เปเบเบชเบฐเบเบดเบเบเบฒเบง partition_by = "chr"
, เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบ, เบเปเปเบกเบนเบเบเบงเบเบเบฐเบเบทเบเปเบเปเบเบญเบญเบเปเบเบฑเบ buckets.
genome เบเบฐเบเบญเบเบเปเบงเบเบเบดเปเบเบเปเบฒเบเบงเบเบซเบฅเบฒเบเบเบตเปเปเบญเบตเปเบเบงเปเบฒ chromosomes.
เปเบเปเบซเบเปเบฒเปเบชเบเบเบฒเบ, เบกเบฑเบเบเปเปเปเบเปเบเบปเบ. เปเบเปเบกเปเบเบกเบกเบตเบเบฐเบซเบเบฒเบเบเบตเปเปเบเบเบเปเบฒเบเบเบฑเบ, เบเบถเปเบเบซเบกเบฒเบเบเบงเบฒเบกเบงเปเบฒเบเปเบฒเบเบงเบเบเปเปเบกเบนเบเบเบตเปเปเบเบเบเปเบฒเบเบเบฑเบ. เบเบตเป เปเบฒเบ เบเบงเบฒเบกเบงเปเบฒเบงเบฝเบเบเบฒเบเบเบตเป Spark เบชเบปเปเบเปเบเปเบซเปเบเบปเบเบเบฒเบเบเปเปเบชเบปเบกเบเบธเบเปเบฅเบฐ เบชเบณ เปเบฅเบฑเบเบเปเบฒเปเบเบฒเบฐเบงเปเบฒเบเบฒเบเบเปเป เบชเบณ เปเบฅเบฑเบเปเบงเปเบฅเบฐเบเปเปเปเบเปเปเบฎเบฑเบเบงเบฝเบ. เบขเปเบฒเบเปเบเบเปเบเบฒเบก, เบงเบฝเบเบเบฒเบเปเบเปเบเบทเบเบชเปเบฒเปเบฅเบฑเบ. เปเบเปเปเบกเบทเปเบญเบเป SNP เบซเบเบถเปเบ, เบเบงเบฒเบกเบเปเปเบชเบปเบกเบเบธเบเบญเบตเบเปเบเบทเปเบญเบซเบเบถเปเบเปเบฎเบฑเบเปเบซเปเปเบเบตเบเบเบฑเบเบซเบฒ. เบเปเบฒเปเบเปเบเปเบฒเบเปเบเบเบฒเบเบเบธเบเปเบเปเบ SNPs เปเบเปเบเปเบกเปเบเบกเบเบฐเบซเบเบฒเบเปเบซเบเป (เบเบฑเปเบเปเบกเปเบ, เบเปเบญเบเบเบตเปเบเบงเบเปเบฎเบปเบฒเบเปเบญเบเบเบฒเบเบเบตเปเบเบฐเปเบเปเบฎเบฑเบเบเปเปเบกเบนเบ) เปเบเปเบซเบผเบธเบเบฅเบปเบเบเบฝเบเปเบเปเบเบฐเบกเบฒเบ 10 เบเบฑเบเปเบ. เบซเบผเบฒเบ, เปเบเปเบเปเปเบเบฝเบเบเป.
เบเบฐเปเบเบฑเบเปเบเบงเปเบเบเปเบฒเบเบงเบเปเบฎเบปเบฒเปเบเปเบเบกเบฑเบเบญเบญเบเปเบเบฑเบเบชเปเบงเบเบเปเบญเบเป?
เบเปเบญเบเปเบเปเบฎเบฝเบเบฎเบนเปเบซเบเบฑเบ: เบเปเปเปเบเบตเบเบเบฐเบเบฒเบเบฒเบกเปเบฎเบฑเบ 2,5 เบฅเปเบฒเบเบเบฒเบเบดเบเบฑเบเปเบฅเบตเบ.
เบเปเบฒเบเบฐเปเบเบปเปเบฒเปเบเปเบเบฑเบเบชเบดเบเปเบเบญเบญเบเปเบเบเบฑเบเบซเบกเบปเบเปเบฅเบฐเปเบเปเบเบชเปเบงเบ SNP เปเบเปเบฅเบฐเบเบปเบ. เบเบตเปเบฎเบฑเบเบเบฐเบเบฑเบเบงเปเบฒเบเบฒเบเปเบเปเบเบเบฑเบเบกเบตเบเบฐเบซเบเบฒเบเปเบเบปเปเบฒเบเบฝเบกเบเบฑเบ. เบกเบฑเบเปเบกเปเบเบเบงเบฒเบกเบเบดเบเบเบตเปเบเปเปเบเบต. เบเปเบญเบเปเบเปเบเบฒเบงเปเบฅเบฐเปเบเบตเปเบกเบชเบฒเบเบเบตเปเบเปเบฅเบดเบชเบธเบ partition_by = 'snp'
. เบงเบฝเบเบเบฒเบเปเบเปเปเบฅเบตเปเบกเบเบปเปเบเปเบฅเบฐเปเบฅเบตเปเบกเบเบปเปเบเบเบตเปเบเบฐเบเบฐเบเบดเบเบฑเบ. เบกเบทเปเบเปเปเบกเบฒเบเปเบฒเบเบฐเปเบเบปเปเบฒเปเบเปเบเบงเบเปเบเบดเปเบเปเบฅเบฐเปเบซเบฑเบเบงเปเบฒเบเปเปเบกเบตเบซเบเบฑเบเบเบฝเบเปเบเบดเบ S3, เบเบฑเปเบเบเบฑเปเบเบเปเบฒเบเบฐเปเบเบปเปเบฒเปเบเปเบเปเบฒเบงเบฝเบเบเบฒเบ. เปเบเบดเปเบเบเบทเบงเปเบฒเบเบฒเบงเบเปเบฒเบฅเบฑเบเบเบฝเบเปเบเบฅเปเบเบฒเบเปเบเบซเบฒเบชเบฐเบเบฒเบเบเบตเปเปเบเบทเปเบญเบเปเบงเปเปเบ S3, เปเบเบฅเปเบเปเบฒเบเบงเบเบซเบผเบฒเบ, เบเบฒเบเบเบตเบญเบฒเบเบกเบตเบชเบญเบเบชเบฒเบกเบฅเปเบฒเบ. เบเบฑเปเบเบเบฑเปเบ, เบเบงเบฒเบกเบเบดเบเบเบฒเบเบเบญเบเบเปเบญเบเบกเบตเบกเบนเบเบเปเบฒเบซเบผเบฒเบเบเบงเปเบฒเบซเบเบถเปเบเบเบฑเบเปเบเบฅเบฒเปเบฅเบฐเบเปเปเบเปเปเบเบเบฑเบเบเบนเปเปเบเบฐเบเปเบฒเบเบญเบเบเปเบญเบ.
เบเบฒเบเปเบเปเบเบชเปเบงเบ + เบเบฒเบเบเบฑเบเบฎเบฝเบ
เบเปเบญเบเปเบเปเบฎเบฝเบเบฎเบนเปเบซเบเบฑเบ: เบเบฒเบเบเบฑเบเบฅเบฝเบเปเบกเปเบเบเบฑเบเบกเบตเบเบงเบฒเบกเบซเบเบธเปเบเบเบฒเบ, เปเบเบฑเปเบเบเบฝเบงเบเบฑเบเบเบฑเบเบเบฒเบเบเบฑเบ Spark.
เบเบงเบฒเบกเบเบฐเบเบฒเบเบฒเบกเบเบฑเปเบเบชเบธเบเบเปเบฒเบเบเบญเบเบเปเบญเบเปเบเบเบฒเบเบเบฑเบเปเบเปเบเบชเปเบงเบเบเปเบฝเบงเบเปเบญเบเบเบฑเบเบเปเบญเบเปเบเปเบเปเบเบเปเบเปเบกเปเบเบก เปเบฅเบฐเบซเบผเบฑเบเบเบฒเบเบเบฑเปเบเบเบฑเบเปเบเปเบเปเบเปเบฅเบฐเบเบฒเบเบดเบเบฑเบ. เปเบเบเบฒเบเบเบดเบเบชเบฐเบเบต, เบเบตเปเบเบฐเปเบฅเบฑเปเบเปเบเปเบฅเบฐเบเบฒเบเบชเบญเบเบเบฒเบกเปเบเบฒเบฐเบงเปเบฒเบเปเปเบกเบนเบ SNP เบเบตเปเบเปเบญเบเบเบฒเบเบเปเบญเบเบขเบนเปเปเบเบชเบญเบเบชเบฒเบกเบเบดเปเบเบเบญเบ Parquet เบเบฒเบเปเบเบเบญเบเปเบเบเบเบตเปเบเปเบฒเบเบปเบเปเบงเป. เปเบเปเบซเบเปเบฒเปเบชเบเบเบฒเบ, เบเบฒเบเบเบฑเบเบฎเบฝเบเบเปเปเบกเบนเบเบเบตเปเบเบทเบเปเบเปเบเบญเบญเบเปเบเบฑเบเบงเบฝเบเบเบตเปเบเบฒเบ. เบเบฑเปเบเบเบฑเปเบ, เบเปเบฒเบเบฐเปเบเบปเปเบฒเปเบเปเบเปเบฝเบเปเบเบฑเบ EMR เบชเปเบฒเบฅเบฑเบเบเบธเปเบกเบเบตเปเบเปเบฒเบซเบเบปเบเปเบญเบเปเบฅเบฐเปเบเปเปเบเบเบเบปเบงเบขเปเบฒเบเบเบตเปเบกเบตเบเบฐเบชเบดเบเบเบดเบเบฒเบ (C5.4xl) เปเบฅเบฐ Sparklyr เปเบเบทเปเบญเบชเปเบฒเบเบเบฐเบเบงเบเบเบฒเบเปเบฎเบฑเบเบงเบฝเบเบเบตเปเบกเบตเบเบงเบฒเบกเบเบทเบเบซเบเบธเปเบเบซเบผเบฒเบ ...
# Sparklyr snippet to partition by chr and sort w/in partition
# Join the raw data with the snp bins
raw_data
group_by(chr) %>%
arrange(Position) %>%
Spark_write_Parquet(
path = DUMP_LOC,
mode = 'overwrite',
partition_by = c('chr')
)
... เปเบเบงเปเบเบเปเปเบเบฒเบก, เบงเบฝเบเบเบฒเบเบเบฑเปเบเบเปเบฒเบงเบเบฑเบเบเปเปเบชเปเบฒเปเบฅเบฑเบ. เบเปเบฒเบเบฐเปเบเบปเปเบฒเปเบเปเบเบฑเปเบเบเปเบฒเบกเบฑเบเบเปเบงเบเบงเบดเบเบตเบเปเบฒเบเป: เปเบเบตเปเบกเบเบฒเบเบเบฑเบเบชเบฑเบเบซเบเปเบงเบเบเบงเบฒเบกเบเปเบฒเบชเปเบฒเบฅเบฑเบเปเบเปเบฅเบฐ query executor, เปเบเป nodes เบเบตเปเบกเบตเบเปเบฒเบเบงเบเบเบฐเบซเบเบฒเบเปเบซเบเปเบเบญเบเบซเบเปเบงเบเบเบงเบฒเบกเบเปเบฒ, เปเบเปเบเบปเบงเปเบเบเบฒเบเบญเบญเบเบญเบฒเบเบฒเบ (เบเบปเบงเปเบเบเบฒเบเบเบฐเบเบฒเบเบชเบฝเบ), เปเบเปเปเบเปเบฅเบฐเบเบฑเปเบเปเบซเบผเบปเปเบฒเบเบตเปเบเบฒเบเปเบเบฑเบเบกเบฒเบเบเบฐเบเบฒเบเปเบเบดเปเบเบซเบเบถเปเบ, เปเบฅเบฐเบเปเบญเบเป executors เปเบเปเปเบฅเบตเปเบกเบเบปเปเบ. เบฅเบปเปเบกเปเบซเบฅเบงเบเบปเบเบเปเบงเบฒเบเบธเบเบชเบดเปเบเบเบธเบเบขเปเบฒเบเบขเบธเบเปเบเบปเบฒ.
เบเบฑเบเบเบธเบเปเบซเปเบเบฑเบ: เบชเบฐเบเบฑเปเบเบกเบฑเบเปเบฅเบตเปเบกเบเบปเปเบ.
pic.twitter.com/agY4GU2ru5 โ Nick Strayer (@NicholasStrayer)
เบญเบฒเบ 15, 2019
เบเปเบญเบเบเบฒเบเปเบเบฑเบเบเบงเบฒเบกเบเบดเบเบชเปเบฒเบเบชเบฑเบเบซเบผเบฒเบเบเบถเปเบ
เบเปเบญเบเปเบเปเบฎเบฝเบเบฎเบนเปเบซเบเบฑเบ: เบเบฒเบเบเบฑเปเบเบเปเปเบกเบนเบเบเบดเปเบชเบเบเปเบญเบเบเบฒเบเบเบฒเบเปเบเปเปเบเบเบดเปเบชเบ.
เปเบเปเบฅเบฐ SNP เบกเบตเบกเบนเบเบเปเบฒเบเปเบฒเปเบซเบเปเบ. เบเบตเปเปเบกเปเบเบเบปเบงเปเบฅเบเบเบตเปเบชเบญเบเบเปเบญเบเบเบฑเบเบเปเบฒเบเบงเบเบเบญเบเบเบฒเบเบเบฒเบกเปเบเปเบกเปเบเบกเบเบญเบเบกเบฑเบ. เบเบตเปเปเบกเปเบเบงเบดเบเบตเบเบตเปเบเบฒเบก เปเบฅเบฐเปเบเบฑเบเบเปเบฒเบกเบฐเบเบฒเบเปเบเบเบฒเบเบเบฑเบเบฅเบฐเบเบฝเบเบเปเปเบกเบนเบเบเบญเบเบเบงเบเปเบฎเบปเบฒ. เบเบณเบญเบดเบเบเปเบญเบเบขเบฒเบเปเบเปเบเบเบฒเบกเปเบเบเบเบญเบเปเบเปเบฅเบฐเปเบเปเบกเปเบเบก. เบเบปเบงเบขเปเบฒเบ, เบเปเบฒเปเบซเบเปเบ 1 - 2000, 2001 - 4000, เปเบฅเบฐเบญเบทเปเบเป. เปเบเปเบเบฑเบเบซเบฒเปเบกเปเบเบงเปเบฒ SNPs เบเปเปเปเบเปเบเบทเบเปเบเบเบขเบฒเบเบขเปเบฒเบเปเบเบปเปเบฒเบเบฝเบกเบเบฑเบเปเบเบเบปเปเบงเปเบเปเบกเปเบเบก, เบเบฑเปเบเบเบฑเปเบเบเบฐเบซเบเบฒเบเบเบญเบเบเบธเปเบกเบเบฐเปเบเบเบเปเบฒเบเบเบฑเบเบขเปเบฒเบเบซเบผเบงเบเบซเบผเบฒเบ.
เบเบฑเปเบเบเบฑเปเบ, เบเปเบฒเบเบฐเปเบเบปเปเบฒเปเบเปเบกเบฒเปเบเปเบเบเปเบฒเปเบซเบเปเบเปเบเบฑเบเบเบฐเปเบเบ (เบญเบฑเบเบเบฑเบ). เบเบฒเบเบเปเบฒเปเบเปเบเปเปเบกเบนเบเบเบตเปเบเบฒเบงเปเบซเบผเบเปเบฅเปเบง, เบเปเบฒเบเบฐเปเบเบปเปเบฒเปเบเปเบเปเบฒเปเบเบตเบเบเบฒเบเบฎเปเบญเบเบเปเปเบซเปเบกเบตเบเบฑเบเบเบตเบฅเบฒเบเบเบทเปเบเบญเบ SNPs เบเบตเปเปเบเบฑเบเปเบญเบเบฐเบฅเบฑเบ, เบเปเบฒเปเบซเบเปเบเปเบฅเบฐเปเบเปเบกเปเบเบกเบเบญเบเบเบงเบเปเบเบปเบฒ. เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบ, เบเปเบฒเบเบฐเปเบเบปเปเบฒเปเบเปเบเบฑเบเบฎเบฝเบเบเปเปเบกเบนเบเบเบฒเบเปเบเปเบเปเบฅเบฐเปเบเปเบกเปเบเบกเปเบฅเบฐเปเบเบฑเบเบเปเบฒ SNPs เปเบเบปเปเบฒเปเบเปเบเบเบธเปเบก (bin) เบเบญเบเบเบฐเบซเบเบฒเบเบเบตเปเบเปเบฒเบเบปเบเปเบงเป. เปเบซเปเปเบงเบปเปเบฒเบงเปเบฒ 1000 SNPs เปเบเปเบฅเบฐเบเบปเบ. เบเบตเปเปเบฎเบฑเบเปเบซเปเบเปเบญเบเบกเบตเบเบงเบฒเบกเบชเปเบฒเบเบฑเบ SNP-to-group-per-chromosome.
เปเบเบเบตเปเบชเบธเบ, เบเปเบฒเบเบฐเปเบเบปเปเบฒเปเบเปเบชเปเบฒเบเบเบธเปเบก (bin) เบเบญเบ 75 SNPs, เปเบซเบเบเบปเบเบเบฐเบเบทเบเบญเบฐเบเบดเบเบฒเบเบเปเบฒเบเบฅเบธเปเบกเบเบตเป.
snp_to_bin <- unique_snps %>%
group_by(chr) %>%
arrange(position) %>%
mutate(
rank = 1:n()
bin = floor(rank/snps_per_bin)
) %>%
ungroup()
เบเปเบฒเบญเบดเบเบฅเบญเบเปเบเป Spark
เบเปเบญเบเปเบเปเบฎเบฝเบเบฎเบนเปเบซเบเบฑเบ: เบเบฒเบเบฅเบงเบเบฅเบงเบก Spark เปเบกเปเบเปเบง, เปเบเปเบเบฒเบเปเบเปเบเบชเปเบงเบเปเบกเปเบเบเบฑเบเบกเบตเบฅเบฒเบเบฒเปเบเบ.
เบเปเบฒเบเบฐเปเบเบปเปเบฒเบเปเบญเบเบเบฒเบเบญเปเบฒเบเบเบญเบเบเปเปเบกเบนเบเบเบฐเบซเบเบฒเบเบเปเบญเบ (2,5 เบฅเปเบฒเบเปเบเบง) เปเบเบปเปเบฒเปเบเปเบ Spark, เบชเบปเบกเบเบปเบเบกเบฑเบเบเบฑเบเบเปเปเบกเบนเบเบเบดเบ, เปเบฅเบฐเบซเบผเบฑเบเบเบฒเบเบเบฑเปเบเปเบเปเบเบเบฑเบเบกเบฑเบเปเบเบเบเบฑเบเบเบตเปเปเบเบตเปเบกเปเบซเบกเป. bin
.
# Join the raw data with the snp bins
data_w_bin <- raw_data %>%
left_join(sdf_broadcast(snp_to_bin), by ='snp_name') %>%
group_by(chr_bin) %>%
arrange(Position) %>%
Spark_write_Parquet(
path = DUMP_LOC,
mode = 'overwrite',
partition_by = c('chr_bin')
)
เบเปเบญเบโเปเบเป sdf_broadcast()
, เบเบฑเปเบเบเบฑเปเบ Spark เบฎเบนเปเบงเปเบฒเบกเบฑเบเบเบงเบเบเบฐเบชเบปเปเบเบเบญเบเบเปเปเบกเบนเบเปเบเบซเบฒเบเบธเบ nodes. เบเบตเปเปเบเบฑเบเบเบฐเปเบซเบเบเบเปเบฒเบเปเปเบกเบนเบเบกเบตเบเบฐเบซเบเบฒเบเบเปเบญเบเปเบฅเบฐเบเปเบญเบเบเบฒเบเบชเปเบฒเบฅเบฑเบเบงเบฝเบเบเบฒเบเบเบฑเบเบซเบกเบปเบ. เบเปเบฒเบเปเปเบเบฑเปเบเบเบฑเปเบ, Spark เบเบฐเบเบฒเบเบฒเบกเบชเบฐเบซเบฅเบฒเบเปเบฅเบฐเปเบเบเบขเบฒเบเบเปเปเบกเบนเบเบเบฒเบกเบเบงเบฒเบกเบเปเบญเบเบเบฒเบ, เปเบเบดเปเบเบชเบฒเบกเบฒเบเปเบฎเบฑเบเปเบซเปเปเบเบตเบเบเบฒเบเบเปเบฒเบฅเบปเบ.
เปเบฅเบฐเบญเบตเบเปเบเบทเปเบญเบซเบเบถเปเบ, เบเบงเบฒเบกเบเบดเบเบเบญเบเบเปเบญเบเบเปเปเปเบเปเปเบฎเบฑเบเบงเบฝเบ: เบงเบฝเบเบเบฒเบเบเบตเปเปเบฎเบฑเบเบงเบฝเบเบชเปเบฒเบฅเบฑเบเบเบฒเบเปเบงเบฅเบฒ, เบชเปเบฒเปเบฅเบฑเบเบชเบฐเบซเบฐเบเบฑเบ, เปเบฅเบฐเบซเบผเบฑเบเบเบฒเบเบเบฑเปเบ, เบเบทเบเบฑเบเบเบนเปเบเบฐเบเบดเบเบฑเบเบเบฒเบเปเบเบตเบเบเบปเบงเปเบเบเบเบฒเบเปเบเปเบเบชเปเบงเบ, เบเบงเบเปเบเบปเบฒเปเบฅเบตเปเบกเบฅเบปเปเบกเปเบซเบฅเบง.
เปเบเบตเปเบก AWK
เบเปเบญเบเปเบเปเบฎเบฝเบเบฎเบนเปเบซเบเบฑเบ: เบขเปเบฒเบเบญเบเปเบกเบทเปเบญเบเบทเบเบชเบญเบเบเบทเปเบเบเบฒเบ. เปเบเปเบเบญเบเบงเปเบฒเบเบฒเบเบเบปเบเปเบเปเปเบเปเปเบเบเบฑเบเบซเบฒเบเบญเบเปเบเบปเปเบฒเปเบฅเปเบงเปเบเบเบธเบกเบเบต 1980.
เบกเบฒเบฎเบญเบเบเบธเบเบเบตเป, เปเบซเบเบเบปเบเบชเปเบฒเบฅเบฑเบเบเบงเบฒเบกเบฅเบปเปเบกเปเบซเบฅเบงเบเบฑเบเบซเบกเบปเบเบเบญเบเบเปเบญเบเบเบฑเบ Spark เปเบกเปเบเบเบฒเบเบฅเบปเบเบเบงเบเบเบญเบเบเปเปเบกเบนเบเปเบเบเบธเปเบก. เบเบฒเบเบเบตเบชเบฐเบเบฒเบเบฐเบเบฒเบเบชเบฒเบกเบฒเบเบเบฑเบเบเบธเบเปเบเปเบเปเบงเบเบเบฒเบเบเบดเปเบเบเบปเบงเบเปเบญเบ. เบเปเบญเบเบเบฑเบเบชเบดเบเปเบเบเบฐเบเบฒเบเบฒเบกเปเบเบเบเปเปเบกเบนเบเบเปเปเบเบงเบฒเบกเบเบดเบเบญเบญเบเปเบเบฑเบเบเบฑเบเบเบญเบเปเบเปเบกเปเบเบก, เบชเบฐเบเบฑเปเบเบเปเบญเบเบซเบงเบฑเบเบงเปเบฒเบเบฐเปเบซเป Spark เบเบฑเบเบเปเปเบกเบนเบ "เปเบเปเบเบชเปเบงเบเปเบงเปเบเปเบญเบ".
เบเปเบฒเบเบฐเปเบเบปเปเบฒเปเบเปเบเบปเปเบเบซเบฒเปเบ StackOverflow เบชเปเบฒเบฅเบฑเบเบงเบดเบเบตเบเบฒเบเปเบเปเบเบเบฑเบเปเบเบเบเปเบฒเบเปเบฅเปเบฒเปเบฅเบฐเบเบปเบเปเบซเบฑเบ stdout
.
เบเปเบญเบเบเบฝเบ script Bash เปเบเบทเปเบญเบเบปเบเบฅเบญเบเปเบเปเบกเบฑเบ. เบเบฒเบงเปเบซเบผเบเปเบถเปเบเปเบ TSVs เบเบตเปเบซเบธเปเบกเบซเปเปเปเบฅเปเบง, เบเบฒเบเบเบฑเปเบเบเบญเบเบกเบฑเบเบญเบญเบเปเบเบเปเบเป gzip
เปเบฅเบฐเบเบทเบเบชเบปเปเบเปเบเบซเบฒ awk
.
gzip -dc path/to/chunk/file.gz |
awk -F 't'
'{print $1",..."$30">"chunked/"$chr"_chr"$15".csv"}'
เบกเบฑเบเปเบฎเบฑเบเบงเบฝเบ!
เบเบฒเบเบเบทเปเบกเบเปเปเบกเบนเบเปเบชเปเปเบเบ
เบเปเบญเบเปเบเปเบฎเบฝเบเบฎเบนเปเบซเบเบฑเบ: gnu parallel
- เบกเบฑเบเปเบเบฑเบเบชเบดเปเบเบกเบฐเบซเบฑเบเบชเบฐเบเบฑเบ, เบเบธเบเบเบปเบเบเบงเบเปเบเปเบกเบฑเบ.
เบเบฒเบเปเบเบเบเบปเบงเปเบกเปเบเบเปเบญเบเบเปเบฒเบเบเปเบฒเปเบฅเบฐเปเบกเบทเปเบญเบเปเบญเบเปเบฅเบตเปเบกเบเบปเปเบ htop
เบเบฒเบเบเบงเบเบชเบญเบเบเบฒเบเปเบเป EC2 เบเบตเปเบกเบตเบเบฐเบชเบดเบเบเบดเบเบฒเบ (เปเบฅเบฐเบฅเบฒเบเบฒเปเบเบ), เบกเบฑเบเปเบเปเบซเบฑเบเบญเบญเบเบงเปเบฒเบเปเบญเบเบเปเบฒเบฅเบฑเบเปเบเปเบเบฝเบเปเบเปเบซเบเบถเปเบเบซเบผเบฑเบเปเบฅเบฐเบกเบตเบซเบเปเบงเบเบเบงเบฒเบกเบเปเบฒเบเบฐเบกเบฒเบ 200 MB. เปเบเบทเปเบญโเปเบเปโเปเบโเบเบฑเบโเบซเบฒโเปเบฅเบฐโเบเปเปโเปเบเปโเบชเบนเบโเปเบชเบโเปเบเบดเบโเบซเบผเบฒเบโ, เบเบงเบโเปเบฎเบปเบฒโเปเบเปโเบเบญเบโเบซเบฒโเบงเบดโเบเบตโเบเบฒเบโเบเบฐโเบซเบเบฒเบโเบเบญเบโเบเบฒเบโเปเบฎเบฑเบโเบงเบฝเบโ. เปเบเบเบเบต, เปเบเบซเบเบฑเบเบชเบทเบเบตเปเบซเบเปเบฒเบเบฐเบซเบฅเบฒเบเปเบเปเบเปเป gnu parallel
, เบงเบดเบเบตเบเบฒเบเบเบตเปเบกเบตเบเบงเบฒเบกเบเบทเบเบซเบเบธเปเบเบซเบผเบฒเบเบชเปเบฒเบฅเบฑเบเบเบฒเบเบเบฐเบเบดเบเบฑเบ multithreading เปเบ Unix.
เปเบกเบทเปเบญเบเปเบญเบเปเบฅเบตเปเบกเบเบปเปเบเบเบฒเบเปเบเปเบเบชเปเบงเบเปเบเบเปเบเปเบเบฐเบเบงเบเบเบฒเบเปเบซเบกเป, เบเบธเบเบชเบดเปเบเบเบธเบเบขเปเบฒเบเปเบกเปเบเบเบต, เปเบเปเบเบฑเบเบกเบตเบเปเปเบเบปเบเบเปเบญเบ - เบเบฒเบเบเบฒเบงเปเบซเบฅเบเบงเบฑเบเบเบธ S3 เปเบเบปเปเบฒเปเบเปเบเปเบเปเบเบเปเปเปเบงเบซเบผเบฒเบเปเบฅเบฐเบเปเปเบกเบตเบเบฒเบเบเบฐเบซเบเบฒเบเบขเปเบฒเบเบชเบปเบกเบเบนเบ. เปเบเบทเปเบญเปเบเปเปเบเบเบฑเบเบซเบฒเบเบตเป, เบเปเบฒเบเบฐเปเบเบปเปเบฒเปเบเปเปเบฎเบฑเบเบชเบดเปเบเบเบตเป:
- เบเปเบฒเบเบฐเปเบเบปเปเบฒเปเบเปเบเบปเบเปเบซเบฑเบเบงเปเบฒเบกเบฑเบเปเบเบฑเบเปเบเปเบเปเบเบตเปเบเบฐเบเบฐเบเบดเบเบฑเบเบเบฑเปเบเบเบญเบเบเบฒเบเบเบฒเบงเปเบซเบผเบ S3 เปเบเบเบเบปเบเปเบเบเปเป, เบเปเบฒเบเบฑเบเบเบฒเบเปเบเบฑเบเบฎเบฑเบเบชเบฒเบฅเบฐเบเบฑเบเบเบฒเบเปเบเปเบเปเบเบขเปเบฒเบเบชเบปเบกเบเบนเบ. เบเบตเปเบซเบกเบฒเบเบเบงเบฒเบกเบงเปเบฒเบเปเบญเบเบชเบฒเบกเบฒเบเบซเบผเบตเบเปเบงเบฑเปเบเบเบฒเบเบเบฝเบเบเปเปเบกเบนเบเบเบดเบเปเบชเปเปเบเปเบเปเบฅเบฐเปเบเปเบเบฐเบซเบเบฒเบเบเปเบญเบเบเบงเปเบฒ, เปเบฅเบฐเบเบฑเปเบเบเบฑเปเบ, เบฅเบฒเบเบฒเบเบทเบเบเบงเปเบฒ, เบเบฒเบเปเบเบฑเบเบฎเบฑเบเบชเบฒเปเบ AWS.
- เบเบตเบกเบเบฒเบ
aws configure set default.s3.max_concurrent_requests 50
เปเบเบตเปเบกเบเปเบฒเบเบงเบเบเบฐเบเบนเปเบเบตเป AWS CLI เปเบเบตเปเบกเบเบถเปเบเบขเปเบฒเบเบซเบผเบงเบเบซเบผเบฒเบ (เปเบเบเบเปเบฒเปเบฅเบตเปเบกเบเบปเปเบเบกเบต 10). - เบเปเบญเบเปเบเปเบเปเบฝเบเปเบเบฑเบเบเบปเบงเบขเปเบฒเบ EC2 เบเบตเปเบเบทเบเบเบฑเบเปเบเปเบเบชเปเบฒเบฅเบฑเบเบเบงเบฒเบกเปเบงเปเบเบทเบญเบเปเบฒเบ, เบเปเบงเบเบเบปเบงเบญเบฑเบเบชเบญเบ n เปเบเบเบทเป. เบเปเบฒเบเบฐเปเบเบปเปเบฒเปเบเปเบเบปเบเปเบซเบฑเบเบงเปเบฒเบเบฒเบเบชเบนเบเปเบชเบเบเบฐเบฅเบฑเบเบเบฒเบเบเบฒเบเบเบธเบเปเบเปเบเปเบเปเบงเบฅเบฒเบเบตเปเบเบฒเบเบเปเบฒเปเบเป n-instances เปเบกเปเบเบซเบผเบฒเบเบเปเบงเบฒเบเบฒเบเบเบปเบเปเบเบตเบเปเบเบเบเบฒเบเปเบเบตเปเบกเบเบงเบฒเบกเปเบงเปเบเบเบฒเบเปเบซเบผเบ. เบชเปเบฒเบฅเบฑเบเบงเบฝเบเบเบฒเบเบชเปเบงเบเปเบซเบเปเบเปเบญเบเปเบเป c5n.4xl.
- เบเปเบฝเบเปเบเบ
gzip
เบชเบธเบ , เบเบตเปเปเบกเปเบเปเบเบทเปเบญเบเบกเบท gzip เบเบตเปเบชเบฒเบกเบฒเบเปเบฎเบฑเบเบชเบดเปเบเบเบตเปเปเบขเบฑเบเปเบเบทเปเบญเบเบฐเบซเบเบฒเบเบเบฑเบเบงเบฝเบเบเบฒเบเบเบตเปเบเปเปเบกเบตเบเบฐเบซเบเบฒเบเปเบเปเบเบทเปเบญเบเบเบปเปเบเบเบญเบเบเบฒเบเบเบตเบเบญเบฑเบเปเบเบฅเป (เบญเบฑเบเบเบตเปเบเปเบงเบเปเบเปเบซเบเปเบญเบเบเบตเปเบชเบธเบ).pigz
# Let S3 use as many threads as it wants
aws configure set default.s3.max_concurrent_requests 50
for chunk_file in $(aws s3 ls $DATA_LOC | awk '{print $4}' | grep 'chr'$DESIRED_CHR'.csv') ; do
aws s3 cp s3://$batch_loc$chunk_file - |
pigz -dc |
parallel --block 100M --pipe
"awk -F 't' '{print $1",..."$30">"chunked/{#}_chr"$15".csv"}'"
# Combine all the parallel process chunks to single files
ls chunked/ |
cut -d '_' -f 2 |
sort -u |
parallel 'cat chunked/*_{} | sort -k5 -n -S 80% -t, | aws s3 cp - '$s3_dest'/batch_'$batch_num'_{}'
# Clean up intermediate data
rm chunked/*
done
เบเบฑเปเบเบเบญเบเปเบซเบผเบปเปเบฒเบเบตเปเบเบทเบเบฅเบงเบกเปเบเบปเปเบฒเบเบฑเบเปเบเบทเปเบญเปเบฎเบฑเบเปเบซเปเบเบธเบเบชเบดเปเบเบเบธเบเบขเปเบฒเบเปเบฎเบฑเบเบงเบฝเบเบขเปเบฒเบเปเบงเบงเบฒ. เปเบเบเบเบฒเบเปเบเบตเปเบกเบเบงเบฒเบกเปเบงเบเบฒเบเบเบฒเบงเปเบซเบผเบเปเบฅเบฐเบเบฒเบเบเปเบฒเบเบฑเบเบเบฒเบเบเบฝเบเปเบเปเบ, เบเบญเบเบเบตเปเบเปเบญเบเบชเบฒเบกเบฒเบเบเบธเบเปเบเปเบเปเบเบฑเบเปเบเบฑเบ 5 terabyte เปเบเปเบงเบฅเบฒเบเบฝเบเปเบเปเบชเบญเบเบชเบฒเบกเบเบปเปเบงเปเบกเบ.
เบเปเปเบกเบตเบซเบเบฑเบเบเบตเปเบซเบงเบฒเบเบเบงเปเบฒเบเบฒเบเปเบซเบฑเบเบซเบผเบฑเบเบเบฑเบเปเบปเบเบเบตเปเปเบเบปเปเบฒเบเบณเบฅเบฑเบเบเปเบฒเบเปเบซเปเบเบฑเบ AWS เบเบตเปเบเบทเบเบเปเบฒเปเบเป. เบเปเบเบญเบเปเบเบเบฑเบ gnu-parallel เบเปเบญเบเบชเบฒเบกเบฒเบ unzip เปเบฅเบฐเปเบเปเบเบเบฑเบ csv 19gig เปเบงเปเบเบปเปเบฒเบเบตเปเบเปเบญเบเบชเบฒเบกเบฒเบเบเบฒเบงเปเบซเบฅเบเปเบเป. เบเปเบฒโเบเบฐโเปเบเบปเปเบฒโเบเปเปโเบชเบฒโเบกเบฒเบโเปเบเบดเบโเปเบกเปเบโเบงเปเบฒโเปเบเปโเบฎเบฑเบโเบเบธเบโเบเบฐโเบเบฒเบโเปเบเบทเปเบญโเบเปเบฒโเปเบเบตเบโเบเบฒเบโเบเบตเปโ.
#เบเปเปเบกเบนเบเบงเบดเบเบฐเบเบฒเบชเบฒเบ #เบฅเบดเบเบธเบ pic.twitter.com/Nqyba2zqEk โ Nick Strayer (@NicholasStrayer)
เบญเบฒเบ 17, 2019
tweet เบเบตเปเบเบงเบเบเบฐเปเบเปเบเปเบฒเบงเปเบเบดเบ 'TSV'. เบญเบฐเบเบดเบเบฒ.
เบเบฒเบโเบเปเบฒโเปเบเปโเบเปเปโเบกเบนเบโเบเบตเปโเปเบเปโเบงเบดโเปเบเบฒเบฐโเปเบซเบกเปโ
เบเปเบญเบเปเบเปเบฎเบฝเบเบฎเบนเปเบซเบเบฑเบ: Spark เบกเบฑเบเบเปเปเบกเบนเบเบเบตเปเบเปเปเบเบทเบเบเบตเบเบญเบฑเบ เปเบฅเบฐเบเปเปเบกเบฑเบเบเบฒเบเบฅเบงเบกเบเบฒเบเบดเบเบฑเบ.
เปเบเบเบฑเบเบเบธเบเบฑเบเบเปเปเบกเบนเบเปเบกเปเบเบขเบนเปเปเบ S3 เปเบเบฎเบนเบเปเบเบ unpacked (เบญเปเบฒเบ: เปเบเปเบเบเบฑเบ) เปเบฅเบฐเปเบเบดเปเบเบเปเบฒเบชเบฑเปเบ, เปเบฅเบฐเบเปเบฒเบเบฐเปเบเบปเปเบฒเบชเบฒเบกเบฒเบเบเบฑเบเบเบทเบเปเบ Spark เบญเบตเบเปเบเบทเปเบญเบซเบเบถเปเบ. เบเบงเบฒเบกเปเบเบเปเบเบฅเปเบเปเบฒเบเปเบญเบเบขเบนเป: เบเปเบญเบเบฅเบปเปเบกเปเบซเบฅเบงเบญเบตเบเบเบฑเปเบเบเบตเปเบเบฐเบเบฑเบเบฅเบธเบชเบดเปเบเบเบตเปเบเปเบญเบเบเปเบญเบเบเบฒเบ! เบกเบฑเบเปเบเบฑเบเปเบฅเบทเปเบญเบเบเบฒเบเบซเบผเบฒเบเบเบตเปเบเบฐเบเบญเบ Spark เบขเปเบฒเบเปเบเปเบเบดเบเบงเปเบฒเบเปเปเบกเบนเบเบเบทเบเปเบเปเบเบเบฑเบเปเบเบงเปเบ. เปเบฅเบฐเปเบเบดเบเปเบกเปเบเบงเปเบฒเปเบเปเบงเบฅเบฒเบเบตเปเบเปเบฒเบเบฐเปเบเบปเปเบฒเปเบฎเบฑเบเบเบตเป, เบกเบฑเบเปเบเปเบซเบฑเบเบญเบญเบเบงเปเบฒเบกเบตเบเบฒเบเปเบเปเบเบเบฑเบเบซเบผเบฒเบเปเบเบตเบเปเบ (95 เบเบฑเบ), เปเบฅเบฐเปเบเปเบงเบฅเบฒเบเบตเปเบเปเบฒเบเบฐเปเบเบปเปเบฒเปเบเป coalesce
เบซเบผเบธเบเบเปเบฒเบเบงเบเบเบญเบเบเบงเบเปเบเบปเบฒเปเบเบชเบนเปเบเบญเบเปเบเบเบเปเบฒเบเบฑเบเบเบตเปเบชเบปเบกเปเบซเบเบชเบปเบกเบเบปเบ, เบเบตเปเปเบเปเบเปเบฒเบฅเบฒเบเบเบฒเบเปเบเปเบเบเบฑเบเบเบญเบเบเปเบญเบ. เบเปเบฒโเบเบฐโเปเบเบปเปเบฒโเปเบเปโเปเบเบงเปโเบฒโเบเบตเปโเบชเบฒโเบกเบฒเบโเปเบเปโเปเบโเปเบเปโ, เปเบเปโเบซเบผเบฑเบโเบเบฒเบโเบชเบญเบโเบชเบฒเบกโเบกเบทเปโเบเบญเบโเบเบฒเบโเบเบญเบโเบซเบฒโเบเปเบฒโเบเบฐโเปเบเบปเปเบฒโเบเปเปโเบชเบฒโเบกเบฒเบโเบเบญเบโเบซเบฒโเบงเบดโเบเบตโเปเบเปโเปเบโเปเบเปโ. เปเบโเบเบตเปโเบชเบธเบโเบเปเบฒโเบเบฐโเปเบเบปเปเบฒโเปเบเปโเบชเปเบฒโเปเบฅเบฑเบโเบงเบฝเบโเบเบฒเบโเบเบฑเบโเบซเบกเบปเบโเปเบ Sparkโ, เปเบเบดเบโเปเบกเปเบโเบงเปเบฒโเบกเบฑเบโเปเบเปโเปเบงโเบฅเบฒโเปเบโเบเบฐโเบเบฐโเบเบตเปโเปเบฅเบฐโเบเบฒเบโเปเบเปเบโเบเบฑเบโเปเบเบฅโเป Parquet เบเบญเบโเบเปเบฒโเบเบฐโเปเบเบปเปเบฒโเบเปเปโเบกเบตโเบเบฐโเบซเบเบฒเบโเบเปเบญเบโเบซเบผเบฒเบ (~200 KBโ)โ. เบขเปเบฒเบเปเบเบเปเบเบฒเบก, เบเปเปเบกเบนเบเปเบกเปเบเบเปเบญเบเบเบตเปเบกเบฑเบเบเปเบญเบเบเบฒเบ.
เบเบฐโเบซเบเบฒเบโเบเปเบญเบโเปเบเบตเบโเปเบโเปเบฅเบฐโเบเปเปโเบชเบฐโเปเบซเบกเบตโเบเบฒเบโ, เบชเบดเปเบโเบกเบฐโเบซเบฑเบโ!
เบเบฒเบเบเบปเบเบชเบญเบเบเบฒเบเบชเบญเบเบเบฒเบก Spark เบเปเบญเบเบเบดเปเบ
เบเปเบญเบเปเบเปเบฎเบฝเบเบฎเบนเปเบซเบเบฑเบ: Spark เบกเบต overhead เบซเบผเบฒเบเปเบเบตเบเปเบเปเบเปเบงเบฅเบฒเบเบตเปเปเบเปเปเบเบเบฑเบเบซเบฒเบเปเบฒเบเบเบฒเบ.
เปเบเบเบเบฒเบเบเบฒเบงเปเบซเบผเบเบเปเปเบกเบนเบเปเบเบฎเบนเบเปเบเบเบเบตเปเบชเบฐเบซเบฅเบฒเบ, เบเปเบญเบเบชเบฒเบกเบฒเบเบเบปเบเบชเบญเบเบเบงเบฒเบกเปเบงเปเบเป. เบเบฑเปเบเบเปเบฒเบชเบฐเบเบฃเบดเบ R เปเบเบทเปเบญเปเบฅเปเบเปเบเบตเบเปเบงเบต Spark เบเปเบญเบเบเบดเปเบ, เปเบฅเบฐเบซเบผเบฑเบเบเบฒเบเบเบฑเปเบเปเบซเบฅเบเบเบญเบเบเปเปเบกเบนเบ Spark เบเบฒเบเบเปเบญเบเปเบเบฑเบเบเปเปเบกเบนเบเบเบธเปเบก Parquet (bin). เบเปเบฒโเบเบฐโเปเบเบปเปเบฒโเบเบฐโเบเบฒโเบเบฒเบกโเบเบตเปโเบเบฐโเปเบซเบผเบโเบเปเปโเบกเบนเบโเบเบฑเบโเบซเบกเบปเบโเปเบเปโเบเปเปโเบชเบฒโเบกเบฒเบโเปเบเปโเบฎเบฑเบ Sparklyr เปเบเบทเปเบญโเบฎเบฑเบโเบฎเบนเปโเบเบฒเบโเปเบเปเบโเบเบฑเบโ.
sc <- Spark_connect(master = "local")
desired_snp <- 'rs34771739'
# Start a timer
start_time <- Sys.time()
# Load the desired bin into Spark
intensity_data <- sc %>%
Spark_read_Parquet(
name = 'intensity_data',
path = get_snp_location(desired_snp),
memory = FALSE )
# Subset bin to snp and then collect to local
test_subset <- intensity_data %>%
filter(SNP_Name == desired_snp) %>%
collect()
print(Sys.time() - start_time)
เบเบฒเบเบเบฐเบซเบฒเบเปเบเปเปเบงเบฅเบฒ 29,415 เบงเบดเบเบฒเบเบต. เบเบตเบเบงเปเบฒเบซเบผเบฒเบ, เปเบเปเบเปเปเบเบตเปเบเบตเบเปเบเบชเปเบฒเบฅเบฑเบเบเบฒเบเบเบปเบเบชเบญเบเบกเบฐเบซเบฒเบเบปเบเบเบญเบเบชเบดเปเบเปเบ. เบเบญเบเบเบฒเบเบเบฑเปเบ, เบเปเบฒเบเบฐเปเบเบปเปเบฒเบเปเปเบชเบฒเบกเบฒเบเปเบฅเบฑเปเบเบชเบดเปเบเบเปเบฒเบเปเปเบเบเบฒเบเบเบงเบฒเบกเบเปเบฒเปเบเปเปเบเบฒเบฐเบงเปเบฒเปเบเปเบงเบฅเบฒเบเบตเปเบเปเบฒเบเบฐเปเบเบปเปเบฒเบเบฐเบเบฒเบเบฒเบก cache เบเบญเบเบเปเปเบกเบนเบเปเบเบซเบเปเบงเบเบเบงเบฒเบกเบเปเบฒ, Spark เบชเบฐเปเบซเบกเบต crashed, เปเบเบดเบเปเบกเปเบเบงเปเบฒเปเบเปเบงเบฅเบฒเบเบตเปเบเปเบฒเบเบฐเปเบเบปเปเบฒเบเบฑเบเบชเบฑเบเบซเบผเบฒเบเบเปเบงเบฒ 50 GB เบเบญเบเบซเบเปเบงเบเบเบงเบฒเบกเบเปเบฒเปเบซเปเบเบฑเบเบเบธเบเบเปเปเบกเบนเบเบเบตเปเบกเบตเบเปเปเบฒเบซเบเบฑเบเบซเบเปเบญเบเบเบงเปเบฒ 15.
เบเบฑเบเบเบทเบเบซเบฒ AWK
เบเปเบญเบเปเบเปเบฎเบฝเบเบฎเบนเปเบซเบเบฑเบ: Associative arrays เปเบ AWK เบกเบตเบเบฐเบชเบดเบเบเบดเบเบฒเบเบซเบผเบฒเบ.
เบเปเบญเบเบฎเบนเปเบงเปเบฒเบเปเบญเบเบชเบฒเบกเบฒเบเบเบฑเบเบฅเบธเบเบงเบฒเบกเปเบงเบชเบนเบเบเบงเปเบฒ. เบเปเบฒเบเบฐเปเบเบปเปเบฒเบเบทเปเปเบเปเบงเปเบฒเปเบเบชเบดเปเบเบกเบฐเบซเบฑเบ
เปเบเบทเปเบญเปเบฎเบฑเบเบชเบดเปเบเบเบตเป, เปเบเบชเบฐเบเบดเบ AWK เบเปเบญเบเปเบเปเปเบเปเบเบฅเบฑเบญเบ BEGIN
. เบเบตเปเปเบกเปเบเบเบดเปเบเบชเปเบงเบเบเบญเบเบฅเบฐเบซเบฑเบเบเบตเปเบเบทเบเบเบฐเบเบดเบเบฑเบเบเปเบญเบเบเบตเปเบเปเปเบกเบนเบเปเบเบงเบเปเบฒเบญเบดเบเบเบฐเบเบทเบเบชเบปเปเบเปเบเบซเบฒเบชเปเบงเบเบเบปเปเบเบเปเบเบญเบ script.
join_data.awk
BEGIN {
FS=",";
batch_num=substr(chunk,7,1);
chunk_id=substr(chunk,15,2);
while(getline < "snp_to_bin.csv") {bin[$1] = $2}
}
{
print $0 > "chunked/chr_"chr"_bin_"bin[$1]"_"batch_num"_"chunk_id".csv"
}
เบเบตเบกเบเบฒเบ while(getline...)
เปเบซเบผเบเปเบเบงเบเบฑเบเปเบปเบเบเบฒเบเบเบธเปเบก CSV (bin), เบเบฑเปเบเบเบฑเบเบเบณเบญเบดเบ (เบเบทเป SNP) เปเบเบฑเบเบเบฐเปเบเบชเบณเบฅเบฑเบ associative array bin
เปเบฅเบฐเบกเบนเบเบเปเบฒเบเบตเบชเบญเบ (เบเบธเปเบก) เปเบเบฑเบเบกเบนเบเบเปเบฒ. เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบ, เปเบเบเบฑเบ {
}
, เปเบเบดเปเบเบเบทเบเบเบฐเบเบดเบเบฑเบเบขเบนเปเปเบเบเบธเบเปเบชเบฑเปเบเบเบญเบเปเบเบฅเปเบเบปเปเบเบเป, เปเบเปเบฅเบฐเปเบชเบฑเปเบเบเบทเบเบชเบปเปเบเปเบเบซเบฒเปเบเบฅเปเบเบปเบเบเบฐเบฅเบดเบ, เปเบเบดเปเบเปเบเปเบฎเบฑเบเบเบทเปเบเบตเปเปเบเบฑเบเปเบญเบเบฐเบฅเบฑเบเบเบถเปเบเบเบฑเบเบเบธเปเบก (bin): ..._bin_"bin[$1]"_...
.
เบเบปเบงเปเบ batch_num
ะธ chunk_id
เบเบปเบเบเบฑเบเบเปเปเบกเบนเบเบเบตเปเบชเบฐเปเบญเบเปเบซเปเปเบเบเบเปเปเบเบฑเปเบ, เบซเบผเบตเบเบฅเปเบฝเบเบชเบฐเบเบฒเบเบเบฒเบเปเบเปเบเบเบฑเบ, เปเบฅเบฐเปเบเปเบฅเบฐเบเบฐเบเบนเปเบเบฐเบเบดเบเบฑเบเบเบฒเบเปเบฅเปเบ parallel
, เบเบฝเบเปเบชเปเปเบเบฅเปเบเบตเปเปเบเบฑเบเปเบญเบเบฐเบฅเบฑเบเบเบญเบเบเบปเบเปเบญเบ.
เบเบฑเบเบเบฑเปเบเปเบเปเบเปเบญเบเบเบฐเปเบเบเบเบฐเบเบฒเบเบเปเปเบกเบนเบเบเบดเบเบเบฑเบเบซเบกเบปเบเปเบเบปเปเบฒเปเบเปเบเปเบเปเบเบตเปเบเปเบเปเบกเปเบเบกเบเบตเปเปเบซเบฅเบทเบญเบเบฒเบเบเบฒเบเบเบปเบเบฅเบญเบเบเบตเปเบเปเบฒเบเบกเบฒเบเบญเบเบเปเบญเบเบเบฑเบ AWK, เบเบญเบเบเบตเปเบเปเบญเบเบชเบฒเบกเบฒเบเบเบฝเบ script Bash เบญเบทเปเบเปเบเบทเปเบญเบเบฐเบกเบงเบเบเบปเบเปเบเปเบกเปเบเบกเบซเบเบถเปเบเบเบฑเปเบเปเบฅเบฐเบชเบปเปเบเบเปเปเบกเบนเบเปเบเปเบเบชเปเบงเบเบเบตเปเปเบฅเบดเบเปเบเบดเปเบเปเบเบซเบฒ S3.
DESIRED_CHR='13'
# Download chromosome data from s3 and split into bins
aws s3 ls $DATA_LOC |
awk '{print $4}' |
grep 'chr'$DESIRED_CHR'.csv' |
parallel "echo 'reading {}'; aws s3 cp "$DATA_LOC"{} - | awk -v chr=""$DESIRED_CHR"" -v chunk="{}" -f split_on_chr_bin.awk"
# Combine all the parallel process chunks to single files and upload to rds using R
ls chunked/ |
cut -d '_' -f 4 |
sort -u |
parallel "echo 'zipping bin {}'; cat chunked/*_bin_{}_*.csv | ./upload_as_rds.R '$S3_DEST'/chr_'$DESIRED_CHR'_bin_{}.rds"
rm chunked/*
script เบกเบตเบชเบญเบเบเบฒเบ parallel
.
เปเบเบเบฒเบเบเปเบฒเบญเบดเบ, เบเปเปเบกเบนเบเบเบทเบเบญเปเบฒเบเบเบฒเบเปเบเบฅเปเบเบฑเบเบซเบกเบปเบเบเบตเปเบกเบตเบเปเปเบกเบนเบเบเปเบฝเบงเบเบฑเบเปเบเปเบกเปเบเบกเบเบตเปเบเปเบญเบเบเบฒเบ, เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบเบเปเปเบกเบนเบเบเบตเปเบเบฐเบเบทเบเปเบเบเบขเบฒเบเปเบเบเบปเปเบงเบเบฐเบเบนเป, เปเบเบดเปเบเปเบเบเบขเบฒเบเปเบเบฅเปเปเบเบปเปเบฒเปเบเปเบเบเบธเปเบกเบเบตเปเปเบซเบกเบฒเบฐเบชเบปเบก (bin). เปเบเบทเปเบญเบซเบผเบตเบเปเบงเบฑเปเบเปเบเบทเปเบญเบเปเบเปเบเบทเปเบญเบเบฒเบเปเบกเบทเปเบญเบซเบผเบฒเบเบซเบปเบงเบเปเปเบเบฝเบเปเบชเปเปเบเบฅเปเบเบฝเบงเบเบฑเบ, AWK เบเปเบฒเบเบเบทเปเปเบเบฅเปเปเบเบทเปเบญเบเบฝเบเบเปเปเบกเบนเบเปเบเบซเบฒเบชเบฐเบเบฒเบเบเบตเปเบเปเบฒเบเป, เปเบเบฑเปเบ:. chr_10_bin_52_batch_2_aa.csv
. เบเบฑเปเบเบเบฑเปเบ, เบซเบผเบฒเบเปเปเบเบฅเปเบเบฐเบซเบเบฒเบเบเปเบญเบเบเบทเบเบชเปเบฒเบเบเบทเปเบเปเบเปเบเปเบ (เบชเปเบฒเบฅเบฑเบเบเบตเปเบเปเบญเบเปเบเป terabyte EBS volumes).
Conveyor เบเบฒเบเบเบฒเบเบเบตเบชเบญเบ parallel
เปเบเปเบเบเบเปเบฒเบเบเบธเปเบก (bin) เปเบฅเบฐเบฅเบงเบกเปเบเบฅเปเบชเปเบงเบเบเบธเบเบเบปเบเบเบญเบเปเบเบปเบฒเปเบเบปเปเบฒเปเบเบปเปเบฒเปเบเปเบ CSV เบเบปเปเบงเปเบ c cat
เปเบฅเบฐเบซเบผเบฑเบเบเบฒเบเบเบฑเปเบเบชเบปเปเบเปเบซเปเปเบเบปเบฒเปเบเบปเปเบฒเบชเปเบฒเบฅเบฑเบเบเบฒเบเบชเบปเปเบเบญเบญเบ.
เบเบฒเบเบญเบญเบเบญเบฒเบเบฒเบเปเบ R?
เบเปเบญเบเปเบเปเบฎเบฝเบเบฎเบนเปเบซเบเบฑเบ: เบเปเบฒเบเบชเบฒเบกเบฒเบเบเบดเบเบเปเป stdin
ะธ stdout
เบเบฒเบ R script, เปเบฅเบฐเบเบฑเปเบเบเบฑเปเบเบเบดเปเบเปเบเปเบกเบฑเบเบขเบนเปเปเบเบเปเป.
เบเปเบฒเบเบญเบฒเบเบเบฐเปเบเปเบชเบฑเบเปเบเบเปเบซเบฑเบเปเบชเบฑเปเบเบเบตเปเบขเบนเปเปเบเบชเบฐเบเบดเบ Bash เบเบญเบเบเปเบฒเบ: ...cat chunked/*_bin_{}_*.csv | ./upload_as_rds.R...
. เบกเบฑเบเปเบเปเบเบฅเปเบเบธเปเบกเบเบตเปเบเบดเบเบเบฑเบเบเบฑเบเปเบปเบ (bin) เปเบเบฑเบ R script เบเปเบฒเบเบฅเบธเปเบกเบเบตเป. {}
เปเบกเปเบเปเบเบฑเบเบเบดเบเบเบดเปเบชเบ parallel
, เปเบเบดเปเบเปเบชเปเบเปเปเบกเบนเบเปเบเปเบเบตเปเบกเบฑเบเบชเบปเปเบเปเบเบซเบฒเบชเบฒเบเบเปเปเบฒเบเบตเปเบฅเบฐเบเบธเปเบเบเบเบปเบเปเบเบปเปเบฒเปเบเปเบเบเปเบฒเบชเบฑเปเบเบเบญเบเบกเบฑเบเปเบญเบ. เบเบฒเบเปเบฅเบทเบญเบ {#}
เปเบซเป ID เบเบฐเบเบนเปเบเบตเปเปเบเบฑเบเปเบญเบเบฐเบฅเบฑเบ, เปเบฅเบฐ {%}
เปเบเบฑเบเบเบปเบงเปเบเบเบเบญเบเบเบปเบงเปเบฅเบเบเปเบญเบเปเบฎเบฑเบเบงเบฝเบ (เบเปเบณเป, เปเบเปเบเปเปเปเบเบตเบเบเปเบญเบกเปเบเบฑเบ). เบเบฑเบเบเบตเบฅเบฒเบเบเบทเปเบเบญเบเบเบฒเบเปเบฅเบทเบญเบเปเบเบเบฒเบเบเบฑเบเบซเบกเบปเบเบชเบฒเบกเบฒเบเปเบเปเบฎเบฑเบเบเบฒเบเบเบปเบเปเบซเบฑเบเบขเบนเปเปเบ
#!/usr/bin/env Rscript
library(readr)
library(aws.s3)
# Read first command line argument
data_destination <- commandArgs(trailingOnly = TRUE)[1]
data_cols <- list(SNP_Name = 'c', ...)
s3saveRDS(
read_csv(
file("stdin"),
col_names = names(data_cols),
col_types = data_cols
),
object = data_destination
)
เปเบกเบทเปเบญเบเบปเบงเปเบ file("stdin")
เบชเบปเปเบเปเบ readr::read_csv
, เบเปเปเบกเบนเบเบเบตเปเปเบเปเบเบฑเบ R script เปเบกเปเบ loaded เปเบเบปเปเบฒเปเบเปเบเบเบญเบ, เปเบเบดเปเบเบซเบผเบฑเบเบเบฒเบเบเบฑเปเบเปเบเบฎเบนเบเปเบเบ .rds
- เบเบฒเบโเบเปเบฒโเปเบเปโเปเบเบฅโเปโ aws.s3
เบเบฝเบเปเบเบเบเบปเบเบเบฑเบ S3.
RDS เปเบกเปเบเบเบฒเบเบชเบดเปเบเบเบฒเบเบขเปเบฒเบเปเบเบฑเปเบ: Parquet เบฎเบธเปเบ junior, เปเบเบเบเปเปเบกเบตเบเบฒเบ frills เบเบญเบเบเบฒเบเปเบเบฑเบเบฎเบฑเบเบชเบฒเบฅเปเบฒเปเบเบ.
เบซเบผเบฑเบเบเบฒเบเบชเปเบฒเปเบฅเบฑเบเบเบฒเบเบเบฝเบ Bash เบเปเบญเบเปเบเปเบฎเบฑเบเบกเบฑเบ .rds
-files เบเบตเปเบเบฑเปเบเบขเบนเปเปเบ S3, เปเบเบดเปเบเบญเบฐเบเบธเบเบฒเบเปเบซเปเบเปเบญเบเปเบเปเบเบฒเบเบเบตเบเบญเบฑเบเบเบตเปเบกเบตเบเบฐเบชเบดเบเบเบดเบเบฒเบเปเบฅเบฐเบชเปเบฒเบเปเบเบเบฐเปเบเบ.
เปเบเบดเบเบงเปเบฒเบเบฐเบกเบตเบเบฒเบเปเบเปเปเบเบ R, เบเบธเบเบชเบดเปเบเบเบธเบเบขเปเบฒเบเปเบฎเบฑเบเบงเบฝเบเบขเปเบฒเบเปเบงเบงเบฒ. เบเปเปเปเบเบเปเบ, เบเบฒเบเบชเปเบงเบเบเบญเบ R เบเบตเปเบญเปเบฒเบเปเบฅเบฐเบเบฝเบเบเปเปเบกเบนเบเปเบกเปเบเปเบเปเบฎเบฑเบเบเบฒเบเปเบเบตเปเบกเบเบฐเบชเบดเบเบเบดเบเบฒเบเบชเบนเบ. เบซเบผเบฑเบเบเบฒเบเบเบฒเบเบเบปเบเบชเบญเบเบเปเบฝเบงเบเบฑเบเปเบเปเบกเปเบเบกเบเบฐเบซเบเบฒเบเบเบฒเบเบซเบเบถเปเบ, เบงเบฝเบเบชเปเบฒเปเบฅเบฑเบเปเบเบเบปเบงเบขเปเบฒเบ C5n.4xl เปเบเปเบงเบฅเบฒเบเบฐเบกเบฒเบเบชเบญเบเบเบปเปเบงเปเบกเบ.
เบเปเปเบเปเบฒเบเบฑเบ S3
เบเปเบญเบเปเบเปเบฎเบฝเบเบฎเบนเปเบซเบเบฑเบ: เบเปเบเบญเบเปเบเบเบฑเบเบเบฒเบเบเบฐเบเบดเบเบฑเบเปเบชเบฑเปเบเบเบฒเบเบเบตเปเบชเบฐเบซเบผเบฒเบ, S3 เบชเบฒเบกเบฒเบเบเบฑเบเบเบฒเบเบเบฑเบเปเบเบฅเปเบเปเบฒเบเบงเบเบซเบผเบฒเบ.
เบเปเบญเบเบเบฑเบเบงเบปเบเบงเปเบฒ S3 เบเบฐเบชเบฒเบกเบฒเบเบเบฑเบเบเบฒเบเบเบฑเบเปเบเบฅเปเบเปเบฒเบเบงเบเบซเบผเบฒเบเบเบตเปเบเบทเบเปเบญเบเปเบเบซเบฒเบกเบฑเบ. เบเปเบญเบเบชเบฒเบกเบฒเบเปเบฎเบฑเบเปเบซเปเบเบทเปเปเบเบฅเปเบกเบตเบเบงเบฒเบกเบซเบกเบฒเบ, เปเบเป S3 เบเบฐเบเบญเบเบซเบฒเบเบงเบเบกเบฑเบเปเบเปเปเบเบงเปเบ?
เปเบเบเปเบเบตเปเบ S3 เปเบกเปเบเบเบฝเบเปเบเปเบชเปเบฒเบฅเบฑเบเบเบฒเบเบชเบฐเปเบเบเปเบซเปเปเบซเบฑเบ, เปเบเบเบงเบฒเบกเปเบเบฑเบเบเบดเบเบฅเบฐเบเบปเบเบเปเปเบชเบปเบเปเบเบชเบฑเบเบเบฒเบฅเบฑเบ /
.
เบกเบฑเบเบเบฒเบเบปเบเบงเปเบฒ S3 เปเบเบฑเบเบเบปเบงเปเบเบเบเบญเบเปเบชเบฑเปเบเบเบฒเบเปเบเบซเบฒเปเบเบฅเปเบชเบฐเปเบเบฒเบฐเปเบเบซเบเบถเปเบเปเบเบฑเบเบเบฐเปเบเบเปเบฒเบเปเปเบเบเบฒเบเบเบฑเบเบฅเบฝเบเบเบญเบเบเบฒเบเบฐเบฅเบฒเบ hash เบซเบผเบทเบเบฒเบเบเปเปเบกเบนเบเบเบตเปเบญเบตเบเปเบชเปเปเบญเบเบฐเบชเบฒเบ. เบเบฑเบเบชเบฒเบกเบฒเบเบเบดเบเบงเปเบฒเปเบเบฑเบเบเบฒเบเบฐเบฅเบฒเบ, เปเบฅเบฐเปเบเบฅเปเบชเบฒเบกเบฒเบเบเบทเบเบเบดเบเบฒเบฅเบฐเบเบฒเบเบฑเบเบเบถเบเปเบเบเบฒเบเบฐเบฅเบฒเบเบเบฑเปเบ.
เปเบเบทเปเบญเบเบเบฒเบเบเบงเบฒเบกเปเบงเปเบฅเบฐเบเบฐเบชเบดเบเบเบดเบเบฒเบเปเบกเปเบเบชเปเบฒเบเบฑเบเบเปเปเบเบฒเบเบชเปเบฒเบเบฅเบฒเบเปเบเปเบขเบนเป Amazon, เบกเบฑเบเบเปเปเปเบเบเปเบเบเบตเปเบฅเบฐเบเบปเบเปเบชเบฑเปเบเบเบฒเบเบเบตเปเบชเปเบฒเบเบฑเบเบเบตเปเบเบทเบเบเบฑเบเบเบธเบเปเบซเปเบเบตเบเบตเปเบชเบธเบ. เบเปเบฒเบเบฐเปเบเบปเปเบฒเปเบเปเบเบฐเบเบฒเบเบฒเบกเบเบญเบเบซเบฒเบเบงเบฒเบกเบชเบปเบกเบเบธเบ: เปเบเบทเปเบญเบเปเปเปเบซเปเบกเบตเบเบฒเบเบฎเปเบญเบเบเปเบซเบผเบฒเบ, เปเบเปเบงเปเบฒเบเบฒเบเบฎเปเบญเบเบเปเปเบเปเบเบทเบเบเบฐเบเบดเบเบฑเบเบขเปเบฒเบเปเบงเบงเบฒ. เบกเบฑเบเปเบเปเบซเบฑเบเบญเบญเบเบงเปเบฒเบกเบฑเบเบเบตเบเบตเปเบชเบธเบเบเบตเปเบเบฐเปเบฎเบฑเบเปเบซเปเปเบเบฅเปเบเบฐเบกเบฒเบ 20 เบเบฑเบเบเบฑเบ. เบเปเบฒเบเบฐเปเบเบปเปเบฒเบเบดเบเบงเปเบฒเบเปเบฒเบเบงเบเปเบฎเบปเบฒเบชเบทเบเบเปเปเปเบเบตเปเบกเบเบฐเบชเบดเบเบเบดเบเบฒเบ, เบเบงเบเปเบฎเบปเบฒเบชเบฒเบกเบฒเบเบเบฑเบเบฅเบธเบเบงเบฒเบกเปเบงเบเบตเปเปเบเบตเปเบกเบเบถเปเบ (เบเบปเบงเบขเปเบฒเบ, เบเบฒเบเบชเปเบฒเบเบเบฑเบเบเบดเปเบชเบเบเบฝเบเปเบเปเบชเปเบฒเบฅเบฑเบเบเปเปเบกเบนเบ, เบเบฑเปเบเบเบฑเปเบเบเบฒเบเบซเบผเบธเบเบเปเบญเบเบเบฐเบซเบเบฒเบเบเบญเบเบเบฒเบเบฐเบฅเบฒเบเบเบฒเบเบเบญเบเบซเบฒ). เปเบเปเบเปเปเบกเบตเปเบงเบฅเบฒเบซเบผเบทเปเบเบดเบเบชเปเบฒเบฅเบฑเบเบเบฒเบเบเบปเบเบฅเบญเบเบเบทเปเบกเบญเบตเบ.
เบเบฐเปเบเบฑเบเปเบเบงเปเบเบเปเบฝเบงเบเบฑเบเบเบงเบฒเบกเปเบเบปเปเบฒเบเบฑเบเปเบเปเบเปเบฒเบก?
เบชเบดเปเบเบเบตเปเบเปเบญเบเปเบเปเบฎเบฝเบเบฎเบนเป: เบชเบฒเปเบซเบเบญเบฑเบเบเบฑเบเบซเบเบถเปเบเบเบญเบเบเบฒเบเปเบชเบเปเบงเบฅเบฒเปเบกเปเบเบเบฒเบเปเบเบตเปเบกเบเบฐเบชเบดเบเบเบดเบเบฒเบเบงเบดเบเบตเบเบฒเบเปเบเบฑเบเบฎเบฑเบเบชเบฒเบเบญเบเบเปเบฒเบเบเปเบญเบเปเบงเบญเบฑเบเบเบงเบ.
เปเบเบเบธเบเบเบตเป, เบกเบฑเบเปเบเบฑเบเบชเบดเปเบ เบชเบณ เบเบฑเบเบซเบผเบฒเบเบเบตเปเบเบฐเบเบฒเบกเบเบปเบงเปเบญเบเบงเปเบฒ: "เปเบเบฑเบเบซเบเบฑเบเบเปเบญเบเปเบเปเบฎเบนเบเปเบเบเปเบญเบเบฐเบชเบฒเบเบเบตเปเปเบเบฑเบเปเบเบปเปเบฒเบเบญเบ?" เปเบซเบเบเบปเบเปเบกเปเบเบขเบนเปเปเบเบเบงเบฒเบกเปเบงเปเบเบเบฒเบเปเบซเบผเบ (เปเบเบฅเป Gzipped CSV เปเบเปเปเบงเบฅเบฒเปเบซเบผเบเบเบปเบเบเบงเปเบฒ 7 เปเบเบปเปเบฒ) เปเบฅเบฐเบเบงเบฒเบกเปเบเบปเปเบฒเบเบฑเบเปเบเปเบเบฑเบเบเบฐเบเบงเบเบเบฒเบเปเบฎเบฑเบเบงเบฝเบเบเบญเบเบเบงเบเปเบฎเบปเบฒ. เบเปเบญเบเบญเบฒเบเบเบฐเบเบดเบเบฒเบฅเบฐเบเบฒเบเบทเบเบงเปเบฒ R เบชเบฒเบกเบฒเบเปเบซเบฅเบเปเบเบฅเป Parquet (เบซเบผเบท Arrow) เปเบเปเบขเปเบฒเบเบเปเบฒเบเบเบฒเบเปเบเบเบเปเปเบกเบตเบเบฒเบเปเบซเบผเบ Spark. เบเบธเบเบเบปเบเบขเบนเปเปเบเบซเปเบญเบเบเบปเบเบฅเบญเบเบเบญเบเบเบงเบเปเบฎเบปเบฒเปเบเป R, เปเบฅเบฐเบเปเบฒเบเปเบญเบเบเปเบฒเปเบเบฑเบเบเปเบญเบเบเปเบฝเบเบเปเปเบกเบนเบเปเบเบฑเบเบฎเบนเบเปเบเบเบญเบทเปเบ, เบเปเบญเบเบเบฑเบเบกเบตเบเปเปเบกเบนเบเบเปเปเบเบงเบฒเบกเบเบปเปเบเบชเบฐเบเบฑเบ, เบเบฑเปเบเบเบฑเปเบเบเปเบญเบเบชเบฒเบกเบฒเบเบเปเบฒเปเบเบตเบเบเบฒเบเบเปเปเบญเบตเบเปเบเบทเปเบญเบซเบเบถเปเบ.
เบเบฒเบเปเบเปเบเบงเบฝเบ
เบเปเบญเบเปเบเปเบฎเบฝเบเบฎเบนเปเบซเบเบฑเบ: เบขเปเบฒเบเบฐเบเบฒเบเบฒเบกเปเบเบตเปเบกเบเบฐเบชเบดเบเบเบดเบเบฒเบเบงเบฝเบเบเปเบงเบเบเบปเบเปเบญเบ, เปเบซเปเบเบญเบกเบเบดเบงเปเบเบตเปเบฎเบฑเบเบกเบฑเบ.
เบเปเบญเบเปเบเปเปเบเปเปเบเบเบฑเบเบซเบฒเบเบฐเบเบงเบเบเบฒเบเปเบฎเบฑเบเบงเบฝเบเบขเบนเปเปเบเปเบเปเบกเปเบเบกเบซเบเบถเปเบ, เบเบญเบเบเบตเปเบเปเบญเบเบเปเบฒเปเบเบฑเบเบเปเบญเบเบเบฐเบกเบงเบเบเบปเบเบเปเปเบกเบนเบเบญเบทเปเบเปเบเบฑเบเบซเบกเบปเบ.
เบเปเบญเบเบเปเบญเบเบเบฒเบเบเบปเบเบเบปเบงเบขเปเบฒเบ EC2 เบซเบผเบฒเบเปเบเบฑเปเบเบชเปเบฒเบฅเบฑเบเบเบฒเบเบเปเบฝเบเปเบเปเบซเบฅเบทเปเบญเบกเปเบช, เปเบเปเปเบเปเบงเบฅเบฒเบเบฝเบงเบเบฑเบเบเปเบญเบเบขเปเบฒเบเบงเปเบฒเบเบฐเปเบเปเบฎเบฑเบเบเบฒเบเปเบซเบผเบเบเบตเปเบเปเปเบชเบปเบกเบเบธเบเบซเบผเบฒเบเปเบเบเบปเปเบงเบงเบฝเบเบเบฒเบเบเบธเบเปเบเปเบเบเบตเปเปเบเบเบเปเบฒเบเบเบฑเบ (เบเบทเบเบฑเบเบเบฑเบ Spark เบเบฐเบชเบปเบเบเบฑเบเบเบฒเบเปเบเปเบเบเบฑเบเบเบตเปเบเปเปเบชเบปเบกเบเบธเบ). เบเบญเบเบเบฒเบเบเบฑเปเบ, เบเปเบญเบเบเปเปเบชเบปเบเปเบเบเบตเปเบเบฐเบเบปเบเบเบปเบงเบขเปเบฒเบเบซเบเบถเปเบเบเปเปเปเบเปเบกเปเบเบก, เปเบเบฒเบฐเบงเปเบฒเบชเปเบฒเบฅเบฑเบเบเบฑเบเบเบต AWS เบกเบตเบเบญเบเปเบเบเบเปเบฒเบเบฑเบเปเบฅเบตเปเบกเบเบปเปเบเบเบญเบ 10 เบเบปเบงเบขเปเบฒเบ.
เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบ, เบเปเบฒเบเบฐเปเบเบปเปเบฒเปเบเปเบเบฑเบเบชเบดเบเปเบเบเบฝเบ script เปเบ R เปเบเบทเปเบญเปเบเบตเปเบกเบเบฐเบชเบดเบเบเบดเบเบฒเบเบเบฒเบเบเบธเบเปเบเปเบ.
เบเปเบฒเบญเบดเบ, เบเปเบฒเบเบฐเปเบเบปเปเบฒเปเบเปเบเปเปเบซเป S3 เบเบดเบเปเบฅเปเบงเปเบฒเปเบเปเบฅเบฐเปเบเปเบกเปเบเบกเบเบญเบเบเบญเบเบเบทเปเบเบเบตเปเปเบเบฑเบเบเปเปเบกเบนเบเบซเบผเบฒเบเบเบฒเบเปเบ.
library(aws.s3)
library(tidyverse)
chr_sizes <- get_bucket_df(
bucket = '...', prefix = '...', max = Inf
) %>%
mutate(Size = as.numeric(Size)) %>%
filter(Size != 0) %>%
mutate(
# Extract chromosome from the file name
chr = str_extract(Key, 'chr.{1,4}.csv') %>%
str_remove_all('chr|.csv')
) %>%
group_by(chr) %>%
summarise(total_size = sum(Size)/1e+9) # Divide to get value in GB
# A tibble: 27 x 2
chr total_size
<chr> <dbl>
1 0 163.
2 1 967.
3 10 541.
4 11 611.
5 12 542.
6 13 364.
7 14 375.
8 15 372.
9 16 434.
10 17 443.
# โฆ with 17 more rows
เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบ, เบเปเบฒเบเบฐเปเบเบปเปเบฒเปเบเปเบเบฝเบเบซเบเปเบฒเบเบตเปเปเบเปเปเบงเบฅเบฒเบเบฐเบซเบเบฒเบเบเบฑเบเบซเบกเบปเบ, shuffles เบเปเบฒเบชเบฑเปเบเบเบญเบ chromosomes, เปเบเปเบเบญเบญเบเปเบเบฑเบเบเบธเปเบก. num_jobs
เปเบฅเบฐเบเบญเบเบเปเบฒเบเบงเปเบฒเบเบฐเปเบฒเบเบเบญเบเบงเบฝเบเบเบธเบเปเบเปเบเบเบฑเบเปเบปเบเบกเบตเบเบงเบฒเบกเปเบเบเบเปเบฒเบเบเบฑเบเปเบเบงเปเบ.
num_jobs <- 7
# How big would each job be if perfectly split?
job_size <- sum(chr_sizes$total_size)/7
shuffle_job <- function(i){
chr_sizes %>%
sample_frac() %>%
mutate(
cum_size = cumsum(total_size),
job_num = ceiling(cum_size/job_size)
) %>%
group_by(job_num) %>%
summarise(
job_chrs = paste(chr, collapse = ','),
total_job_size = sum(total_size)
) %>%
mutate(sd = sd(total_job_size)) %>%
nest(-sd)
}
shuffle_job(1)
# A tibble: 1 x 2
sd data
<dbl> <list>
1 153. <tibble [7 ร 3]>
เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบ, เบเปเบฒเบเบฐเปเบเบปเปเบฒเปเบเปเปเบฅเปเบเบเปเบฒเบเบซเบเบถเปเบเบเบฑเบ shuffles เปเบเบเปเบเป purrr เปเบฅเบฐเปเบฅเบทเบญเบเบเบตเปเบเบตเบเบตเปเบชเบธเบ.
1:1000 %>%
map_df(shuffle_job) %>%
filter(sd == min(sd)) %>%
pull(data) %>%
pluck(1)
เบเบฑเปเบเบเบฑเปเบเบเปเบฒเบเบฐเปเบเบปเปเบฒเปเบเปเบชเบดเปเบเบชเบธเบเบฅเบปเบเปเบเบดเบเบเบธเบเบเบญเบเบงเบฝเบเบเบฒเบเบเบตเปเบกเบตเบเบฐเบซเบเบฒเบเบเบตเปเบเปเบฒเบเบเบทเบเบฑเบเบซเบผเบฒเบ. เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบ, เบเบฑเบเบซเบกเบปเบเบเบตเปเปเบซเบผเบทเบญเปเบกเปเบเปเบเบทเปเบญเบซเปเป script Bash เบเบตเปเบเปเบฒเบเบกเบฒเบเบญเบเบเปเบญเบเปเบ loop เปเบซเบเป for
. เบเบฒเบเปเบเบตเปเบกเบเบฐเบชเบดเบเบเบดเบเบฒเบเบเบตเปเปเบเปเปเบงเบฅเบฒเบเบฐเบกเบฒเบ 10 เบเบฒเบเบตเปเบเบทเปเบญเบเบฝเบ. เปเบฅเบฐเบเบตเปเปเบกเปเบเบซเบเปเบญเบเบเบงเปเบฒเบเบตเปเบเปเบญเบเบเบฐเปเบเปเปเบเบเบฒเบเบชเปเบฒเบเบซเบเปเบฒเบงเบฝเบเบเปเบงเบเบเบปเบเปเบญเบเบเปเบฒเบเบงเบเปเบเบปเบฒเบเปเปเบชเบปเบกเบเบธเบ. เบเบฑเปเบเบเบฑเปเบ, เบเปเบฒเบเบฐเปเบเบปเปเบฒเบเบดเบเบงเปเบฒเบเปเบฒเบเบฐเปเบเบปเปเบฒเบเบทเบเบเปเบญเบเบเบฑเบเบเบฒเบเปเบเบตเปเบกเบเบฐเบชเบดเบเบเบดเบเบฒเบเปเบเบทเปเบญเบเบเบปเปเบเบเบตเป.
for DESIRED_CHR in "16" "9" "7" "21" "MT"
do
# Code for processing a single chromosome
fi
เปเบเบเบตเปเบชเบธเบเบเปเบญเบเปเบเบตเปเบกเบเปเบฒเบชเบฑเปเบเบเบดเบ:
sudo shutdown -h now
... เปเบฅเบฐเบเบธเบเบชเบดเปเบเบเบธเบเบขเปเบฒเบเปเบเปเบเบปเบ! เบเบฒเบเบเปเบฒเปเบเป AWS CLI, เบเปเบฒเบเบฐเปเบเบปเปเบฒเปเบเปเบเบปเบเบเบปเบงเบขเปเบฒเบเปเบเบเปเบเปเบเบฒเบเปเบฅเบทเบญเบ user_data
เปเบเปเบกเบญเบเบชเบฐเบเบฃเบดเบ Bash เปเบซเปเปเบเปเบงเบฝเบเบเบฒเบเบเบญเบเบเบงเบเปเบเบปเบฒเปเบเบทเปเบญเบเบฐเบกเบงเบเบเบปเบ. เบเบงเบเปเบเบปเบฒเปเบเบปเปเบฒเปเบฅเปเบเปเบฅเบฐเบเบดเบเบญเบฑเบเบเบฐเปเบเบกเบฑเบ, เบชเบฐเบเบฑเปเบเบเปเบฒเบเบฐเปเบเบปเปเบฒเบเปเปเปเบเปเบเปเบฒเบเปเบเบดเบเบชเปเบฒเบฅเบฑเบเบเบฐเบฅเบฑเบเบเบฒเบเบเบฐเบกเบงเบเบเบปเบเปเบเบตเปเบกเปเบเบตเบก.
aws ec2 run-instances ...
--tag-specifications "ResourceType=instance,Tags=[{Key=Name,Value=<<job_name>>}]"
--user-data file://<<job_script_loc>>
เบเบญเบเบเบฑเบเปเบฅเบตเบ!
เบเปเบญเบเปเบเปเบฎเบฝเบเบฎเบนเปเบซเบเบฑเบ: API เบเบงเบเบเบฐเบเปเบฒเบเบเบฒเบเบชเปเบฒเบฅเบฑเบ sake เบเบญเบเบเบงเบฒเบกเบชเบฐเบเบงเบเปเบฅเบฐเบเบงเบฒเบกเบเบทเบเบซเบเบธเปเบเบเบญเบเบเบฒเบเบเปเบฒเปเบเป.
เบชเบธเบเบเปเบฒเบเบเปเบญเบเปเบเปเบฎเบฑเบเบเปเปเบกเบนเบเบขเบนเปเปเบเบชเบฐเบเบฒเบเบเบตเปเบเบตเปเปเบซเบกเบฒเบฐเบชเบปเบกเปเบฅเบฐเปเบเบเบเบญเบก. เบเบฑเบเบซเบกเบปเบเบเบตเปเบเบฑเบเปเบซเบผเบทเบญเปเบกเปเบเปเบเบทเปเบญเปเบฎเบฑเบเปเบซเปเบเบฐเบเบงเบเบเบฒเบเบเปเบฒเปเบเปเบเปเปเบกเบนเบเบเปเบฒเบเบเบถเปเบเบซเบผเบฒเบเปเบเบปเปเบฒเบเบตเปเปเบเบฑเบเปเบเปเบเปเปเบเบทเปเบญเปเบฎเบฑเบเปเบซเปเบกเบฑเบเบเปเบฒเบเบเบถเปเบเบชเปเบฒเบฅเบฑเบเปเบเบทเปเบญเบเบฎเปเบงเบกเบเบฒเบเบเบญเบเบเปเบญเบ. เบเปเบญเบเบเปเบญเบเบเบฒเบเบชเปเบฒเบ API เบเปเบฒเบเปเบชเปเบฒเบฅเบฑเบเบเบฒเบเบชเปเบฒเบเบเปเบฒเบฎเปเบญเบเบเป. เบเปเบฒเปเบเบญเบฐเบเบฒเบเบปเบเบเปเบญเบเบเบฑเบเบชเบดเบเปเบเบเปเบฝเบเบเบฒเบ .rds
เบเบฑเบเปเบเบฅเป Parquet, เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบเบเบตเปเบเบงเบเบเบฐเปเบเบฑเบเบเบฑเบเบซเบฒเบชเปเบฒเบฅเบฑเบเบเปเบญเบ, เบเปเปเปเบกเปเบเบชเปเบฒเบฅเบฑเบเปเบเบทเปเบญเบเบฎเปเบงเบกเบเบฒเบเบเบญเบเบเปเบญเบ. เบชเปเบฒเบฅเบฑเบเบเบตเปเบเปเบฒเบเบฐเปเบเบปเปเบฒเปเบเปเบเบฑเบเบชเบดเบเปเบเปเบฎเบฑเบเบเบธเบ R เบเบฒเบเปเบ.
เบชเปเบฒเบเปเบฅเบฐเบเบฑเบเบเบถเบเบเบธเบเบเบตเปเบเปเบฒเบเบเบฒเบเบซเบผเบฒเบเบเบตเปเบเบฐเบเบญเบเบเปเบงเบเบเบฑเบเบเบฑเบเบเบฒเบเปเบเบปเปเบฒเปเบเบดเบเบเปเปเบกเบนเบเบเปเบฒเบเบงเบเบซเบเปเบญเบเบเบตเปเบเบฑเบเบขเบนเปเปเบเบเบฑเบเบเบฑเบเบซเบเบถเปเบ get_snp
. เบเปเบญเบเบเบฑเบเปเบเปเบชเปเบฒเบเปเบงเบฑเบเปเบเบเปเบชเปเบฒเบฅเบฑเบเปเบเบทเปเบญเบเบฎเปเบงเบกเบเบฒเบเบเบญเบเบเปเบญเบ
เบเบฒเบเปเบเบฑเบเบเปเปเบกเบนเบเบญเบฑเบเบชเบฐเบฅเบดเบเบฐ
เบเปเบญเบเปเบเปเบฎเบฝเบเบฎเบนเปเบซเบเบฑเบ: เบเปเบฒเบเปเปเบกเบนเบเบเบญเบเบเปเบฒเบเบเบทเบเบเบฐเบเบฝเบกเบเบต, caching เบเบฐเบเปเบฒเบ!
เบเบฑเบเบเบฑเปเบเปเบเปเบซเบเบถเปเบเปเบเบเบฑเปเบเบเบญเบเบเบฒเบเปเบฎเบฑเบเบงเบฝเบเบเบปเปเบเบเปเปเบเปเบเปเบฒเปเบเปเบฎเบนเบเปเบเบเบเบฒเบเบงเบดเปเบเบฒเบฐเบเบฝเบงเบเบฑเบเบเบฑเบเบเบธเบ SNP, เบเปเบฒเบเบฐเปเบเบปเปเบฒเปเบเปเบเบฑเบเบชเบดเบเปเบเบเบตเปเบเบฐเปเบเป binning เปเบเบทเปเบญเบเบฐเปเบซเบเบเบเบญเบเบเปเบญเบ. เปเบกเบทเปเบญเบชเบปเปเบเบเปเปเบกเบนเบเบเปเบฒเบ SNP, เบเปเปเบกเบนเบเบเบฑเบเบซเบกเบปเบเบเบฒเบเบเบธเปเบก (bin) เปเบกเปเบเบเบดเบเบเบฑเบเบงเบฑเบเบเบธเบเบตเปเบชเบปเปเบเบเบทเบ. เบเบฑเปเบเปเบกเปเบ, เบเบฒเบเบชเบญเบเบเบฒเบกเปเบเบปเปเบฒเบชเบฒเบกเบฒเบ (เปเบเบเบฒเบเบเบดเบเบชเบฐเบเบต) เปเบฅเบฑเปเบเบเบฒเบเบเบฐเบกเบงเบเบเบปเบเบเบฒเบเบชเบญเบเบเบฒเบกเปเบซเบกเป.
# Part of get_snp()
...
# Test if our current snp data has the desired snp.
already_have_snp <- desired_snp %in% prev_snp_results$snps_in_bin
if(!already_have_snp){
# Grab info on the bin of the desired snp
snp_results <- get_snp_bin(desired_snp)
# Download the snp's bin data
snp_results$bin_data <- aws.s3::s3readRDS(object = snp_results$data_loc)
} else {
# The previous snp data contained the right bin so just use it
snp_results <- prev_snp_results
}
...
เปเบกเบทเปเบญเบชเปเบฒเบเปเบเบฑเบเปเบเบฑเบ, เบเปเบญเบเปเบฅเปเบเบกเบฒเบเบเบฐเบเบฒเบเบซเบผเบฒเบเบขเปเบฒเบเปเบเบทเปเบญเบเบฝเบเบเบฝเบเบเบงเบฒเบกเปเบงเปเบเปเบงเบฅเบฒเบเบตเปเปเบเปเบงเบดเบเบตเบเบฒเบเบเปเบฒเบเป. เบเปเบฒเบเบฐเปเบเบปเปเบฒเปเบเบฐเบเปเบฒเปเบซเปเบเปเปเบฅเบฐเปเบฅเบตเบเบเบตเป, เปเบเบฒเบฐเบงเปเบฒเบเบฒเบเบเบฑเปเบเบเบปเบเปเบเปเบฎเบฑเบเปเบกเปเบเบเปเปเปเบเปเบเบฒเบเบซเบงเบฑเบ. เบเบปเบโเบเบปเบงโเบขเปเบฒเบ, dplyr::filter
เปเบกเปเบเปเบงเบเบงเปเบฒเบเบฒเบเบเบฑเบเปเบเบงเปเบเบเปเบเปเบเบฒเบเบเบฑเปเบเบเบญเบเปเบเบเบญเบตเบเปเบชเปเบเบฑเบเบชเบฐเบเบต, เปเบฅเบฐเบเบฒเบเบเบถเบเปเบญเบปเบฒเบเบฑเบเบเบฝเบงเบเบฒเบเบเบญเบเบเปเปเบกเบนเบเบเบตเปเบเบทเบเบเบฑเปเบเบเบญเบเปเบกเปเบเปเบงเบเบงเปเบฒเบเบฒเบเปเบเป syntax เบเบฑเบเบชเบฐเบเบต.
เบเบฐเบฅเบธเบเบฒเบชเบฑเบเปเบเบเบงเปเบฒเบงเบฑเบเบเบธ prev_snp_results
เบกเบตเบเบฐเปเบ snps_in_bin
. เบเบตเปเปเบกเปเบ array เบเบญเบ SNPs เบเบตเปเปเบเบฑเบเปเบญเบเบฐเบฅเบฑเบเบเบฑเบเบซเบกเบปเบเปเบเบเบธเปเบก (bin), เบเปเบงเบเปเบซเปเบเปเบฒเบเบชเบฒเบกเบฒเบเบเบงเบเบชเบญเบเปเบเปเปเบงเบงเปเบฒเบเปเบฒเบเบกเบตเบเปเปเบกเบนเบเบเบฒเบเบเบฒเบเบชเบญเบเบเบฒเบกเบเบตเปเบเปเบฒเบเบกเบฒ. เบกเบฑเบเบเบฑเบเปเบฎเบฑเบเปเบซเปเบกเบฑเบเบเปเบฒเบเบเบตเปเบเบฐ loop เบเปเบฒเบ SNPs เบเบฑเบเบซเบกเบปเบเปเบเบเบธเปเบก (bin) เบเปเบงเบเบฅเบฐเบซเบฑเบเบเบตเป:
# Get bin-mates
snps_in_bin <- my_snp_results$snps_in_bin
for(current_snp in snps_in_bin){
my_snp_results <- get_snp(current_snp, my_snp_results)
# Do something with results
}
ะ ะตะทัะปััะฐัั
เปเบเบเบฑเบเบเบธเบเบฑเบเบเบงเบเปเบฎเบปเบฒเบชเบฒเบกเบฒเบ (เปเบฅเบฐเปเบเปเปเบฅเบตเปเบกเบเบปเปเบเบขเปเบฒเบเบเบดเบเบเบฑเบ) เบเปเบฒเปเบเบตเบเบเบฒเบเปเบเบเบเปเบฒเบฅเบญเบเปเบฅเบฐเบชเบฐเบเบฒเบเบฐเบเบฒเบเบเบตเปเบเปเปเปเบเบตเบเปเบเบปเปเบฒเปเบเบดเบเบเบงเบเปเบฎเบปเบฒ. เบชเบดเปเบเบเบตเปเบเบตเบเบตเปเบชเบธเบเปเบกเปเบเบงเปเบฒเปเบเบทเปเบญเบเบฎเปเบงเบกเบเบฒเบเบซเปเบญเบเบเบปเบเบฅเบญเบเบเบญเบเบเปเบญเบเบเปเปเบเปเบฒเปเบเบฑเบเบเปเบญเบเบเบดเบเบเปเบฝเบงเบเบฑเบเบญเบฒเบเบฒเบเปเบเบเบเปเบญเบเปเบเป. เบเบงเบเปเบเบปเบฒเบเบฝเบเปเบเปเบกเบตเบซเบเปเบฒเบเบตเปเปเบฎเบฑเบเบงเบฝเบ.
เปเบฅเบฐเปเบเบดเบเปเบกเปเบเบงเปเบฒเบเบธเบเบเบฑเปเบเบเปเบฒเบงเปเบฎเบฑเบเปเบซเปเบเบงเบเปเบเบปเบฒเบกเบตเบฅเบฒเบเบฅเบฐเบญเบฝเบ, เบเปเบญเบเบเบฐเบเบฒเบเบฒเบกเปเบฎเบฑเบเปเบซเปเบฎเบนเบเปเบเบเบเปเปเบกเบนเบเบเปเบฒเบเบเบฒเบเบเปเบเบตเปเบเบงเบเปเบเบปเบฒเบชเบฒเบกเบฒเบเบเบดเบเปเบเปเบเปเบฒเบเปเบญเบเบซเบฒเบเปเบเปเบเบกเบทเปเบญเบทเปเบ ...
เบเบงเบฒเบกเปเบงเปเบเปเปเบเบตเปเบกเบเบถเปเบเบขเปเบฒเบเปเบซเบฑเบเปเบเปเบเบฑเบ. เบเบงเบเปเบฎเบปเบฒเบเบปเบเบเบฐเบเบดเปเบฅเปเบงเบชเบฐเปเบเบเบเบดเปเบเบชเปเบงเบเบเบฑเบเบเบธเบเปเบฒเบเบตเปเบชเปเบฒเบเบฑเบเบเบตเปเบกเบตเบเบฐเปเบซเบเบ. เบเปเบญเบเบซเบเปเบฒเบเบตเป, เบเบงเบเปเบฎเบปเบฒเบเปเปเบชเบฒเบกเบฒเบเปเบฎเบฑเบเบชเบดเปเบเบเบตเปเปเบเป (เบกเบฑเบเบเบฒเบเปเบเบฑเบเบฅเบฒเบเบฒเปเบเบเปเบเบตเบเปเบ), เปเบเปเปเบเบเบฑเบเบเบธเบเบฑเบ, เบเปเบญเบเปเบเบเบชเปเบฒเบเบเบญเบเบเบธเปเบก (bin) เปเบฅเบฐเบเบฒเบเบเบงเบฒเบกเบเปเบฒ, เบเบฒเบเบฎเปเบญเบเบเปเบชเปเบฒเบฅเบฑเบ SNP เบซเบเบถเปเบเปเบเปเปเบงเบฅเบฒเปเบเบเบชเบฐเปเบฅเปเบเบซเบเปเบญเบเบเบงเปเบฒ 0,1 เบงเบดเบเบฒเบเบต, เปเบฅเบฐเบเบฒเบเบเปเบฒเปเบเปเบเปเปเบกเบนเบเปเบกเปเบเบเบฑเปเบเบเบฑเปเบ. เบเปเปเบฒเบเบตเปเบเปเบฒเปเบเปเบเปเบฒเบเบชเปเบฒเบฅเบฑเบ S3 เปเบกเปเบเบเบปเปเบงเบเบดเบ.
เบเปเปเบเบปเบเบกเบฒเบเบตเป, เบเปเบฒเบเบฐเปเบเบปเปเบฒเปเบเปเบฎเบฑเบเบเบฒเบเบเปเบฝเบเปเบเบเบเบญเบ wrangling 25+ TB เบเบญเบเบเปเปเบกเบนเบ genotyping เบเบดเบเบชเปเบฒเบฅเบฑเบเบซเปเบญเบเบเบปเบเบฅเบญเบเบเบญเบเบเปเบฒเบเบฐเปเบเบปเปเบฒ. เปเบกเบทเปเบญเบเปเบญเบเปเบฅเบตเปเบกเบเบปเปเบ, เบเบฒเบเปเบเป spark เปเบเปเปเบงเบฅเบฒ 8 เบเบฒเบเบต เปเบฅเบฐเบเปเบฒเปเบเปเบเปเบฒเบ $20 เปเบเบทเปเบญเบชเบญเบเบเบฒเบก SNP. เบซเบผเบฑเบเบเบฒเบเปเบเป AWK+
#เบชเบฐเบเบดเบเบด เปเบเบทเปเบญเบเบฐเบกเบงเบเบเบปเบ, เบกเบฑเบเปเบเปเปเบงเบฅเบฒเปเปเบญเบเบเบงเปเบฒเปเบถเปเบเบชเปเบงเบ 10 เบเบญเบเบงเบดเบเบฒเบเบต เปเบฅเบฐเบฅเบฒเบเบฒ 0.00001 เปเบเบฅเบฒ. เบชเปเบงเบเบเบปเบงเบเบญเบเบเปเบญเบ#เบเปเปเบกเบนเบเปเบซเบเป เบเบฐเบเบฐ.pic.twitter.com/ANOXVGrmkk โ Nick Strayer (@NicholasStrayer)
เบญเบฒเบ 30, 2019
เบชเบฐเบซเบฅเบธเบ
เบเบปเบเบเบงเบฒเบกเบเบตเปเบเปเปเปเบกเปเบเบเปเบฒเปเบเบฐเบเปเบฒเบเบฑเบเบซเบกเบปเบ. เบเบฒเบโเปเบเปโเปเบโเปเบเปโเบซเบฑเบโเบญเบญเบโเปเบเบฑเบโเบเบธเบโเบเบปเบโ, เปเบฅเบฐโเปเบเบทเบญเบโเปเบเปโเบเบญเบโเบงเปเบฒโเบเปเปโเปเบซเบกเบฒเบฐโเบชเบปเบกโ. เปเบเบเบเบตเปเบเบฐ, เบกเบฑเบเปเบเบฑเบเบซเบเบฑเบเบชเบทเปเบเบตเบเบเบฒเบ. เบเปเบญเบเบเปเบญเบเบเบฒเบเปเบซเปเบเบปเบเบญเบทเปเบเปเบเบปเปเบฒเปเบเบงเปเบฒเบเบฒเบเบเบฑเบเบชเบดเบเปเบเบเบฑเปเบเบเปเบฒเบงเบเปเปเบเบฒเบเบปเบเบขเบนเปเปเบเบซเบปเบงเบขเปเบฒเบเปเบเบฑเบกเบเบตเป, เบกเบฑเบเปเบกเปเบเบเบปเบเบเบญเบเบเบฒเบเบเบปเบเบฅเบญเบเปเบฅเบฐเบเบงเบฒเบกเบเบดเบเบเบฒเบ. เบเบญเบเบเบฒเบเบเบฑเปเบ, เบเปเบฒเบเปเบฒเบเบเปเบฒเบฅเบฑเบเบเบญเบเบซเบฒเบเบฑเบเบงเบดเบเบฐเบเบฒเบชเบฒเบเบเปเปเบกเบนเบ, เบเบปเปเบเบเบทเปเปเบงเปเบงเปเบฒเบเบฒเบเบเปเบฒเปเบเปเปเบเบทเปเบญเบเบกเบทเปเบซเบผเบปเปเบฒเบเบตเปเบขเปเบฒเบเบกเบตเบเบฐเบชเบดเบเบเบดเบเบฒเบเบฎเบฝเบเบฎเปเบญเบเปเบซเปเบกเบตเบเบฐเบชเบปเบเบเบฒเบ, เปเบฅเบฐเบเบฐเบชเบปเบเบเบฒเบเบเปเบฒเปเบเปเบเปเบฒเบ. เบเปเบญเบเบเบตเปเบเบเบตเปเบเปเบญเบเบกเบตเบงเบดเบเบตเบเปเบฒเบเปเบเบดเบ, เปเบเปเบญเบตเบเบซเบผเบฒเบเบเบปเบเบเบตเปเบชเบฒเบกเบฒเบเปเบฎเบฑเบเบงเบฝเบเบเบฝเบงเบเบฑเบเบเบตเบเบงเปเบฒเบเปเบญเบเบเบฐเบเปเปเบกเบตเปเบญเบเบฒเบเบเปเบญเบเบเบฒเบเปเบเบดเบเบเบตเปเบเบฐเบเบฐเบเบฒเบเบฒเบก.
เปเบเบทเปเบญเบเบกเบทเบเปเปเบกเบนเบเปเบซเบเปเปเบกเปเบเบกเบตเบเบงเบฒเบกเบซเบผเบฒเบเบซเบผเบฒเบ. เบเปเบฒเบเปเบฒเบเบกเบตเปเบงเบฅเบฒ, เบเปเบฒเบเปเบเบทเบญเบเปเบเปเบเบญเบเบชเบฒเบกเบฒเบเบเบฝเบเบเบฒเบเปเบเปเปเบเปเบเปเปเบงเบเบถเปเบเปเบเบเปเบเปเปเบเบฑเบเบเบดเบเบเบฒเบเปเบฎเบฑเบเบเบงเบฒเบกเบชเบฐเบญเบฒเบ, เบเบฒเบเปเบเบฑเบเบฎเบฑเบเบชเบฒเปเบฅเบฐเบเบฒเบเบชเบฐเบเบฑเบเปเบญเบปเบฒเบเปเปเบกเบนเบเบญเบฑเบเบชเบฐเบฅเบดเบเบฐ. เปเบเบเบตเปเบชเบธเบเบกเบฑเบเบกเบฒเบฅเบปเบเปเบเบเบฒเบเบงเบดเปเบเบฒเบฐเบเปเบฒเปเบเปเบเปเบฒเบ-เบเบปเบเบเบฐเปเบซเบเบ.
เบชเบดเปเบเบเบตเปเบเปเบญเบเปเบเปเบฎเบฝเบเบฎเบนเป:
- เบเปเปเบกเบตเบงเบดเบเบตเบเบตเปเบฅเบฒเบเบฒเบเบทเบเบเบตเปเบเบฐเบงเบดเปเบเบฒเบฐ 25 TB เปเบเปเบงเบฅเบฒเบเบฝเบง;
- เบเบปเปเบเบฅเบฐเบกเบฑเบเบฅเบฐเบงเบฑเบเบเบฑเบเบเบฐเบซเบเบฒเบเบเบญเบเปเบเบฅเป Parquet เบเบญเบเบเปเบฒเบเปเบฅเบฐเบญเบปเบเบเบฒเบเบเบฑเบเบเบฑเปเบเบเบญเบเบเบงเบเปเบเบปเบฒ;
- Partitions เปเบ Spark เบเปเบญเบเบกเบตเบเบงเบฒเบกเบชเบปเบกเบเบนเบ;
- เปเบเบเบเบปเปเบงเปเบ, เบเปเปเปเบเบตเบเบเบฐเบเบฒเบเบฒเบกเปเบฎเบฑเบเปเบซเป 2,5 เบฅเปเบฒเบเบเบฒเบเบดเบเบฑเบ;
- เบเบฒเบเบเบฑเบเบฅเบฝเบเปเบกเปเบเบเบฑเบเบกเบตเบเบงเบฒเบกเบซเบเบธเปเบเบเบฒเบ, เปเบเบฑเปเบเบเบฝเบงเบเบฑเบเบเบฑเบเบเบฒเบเบชเปเบฒเบเบเบฑเปเบ Spark;
- เบเบฒเบเบเบฑเปเบเบเปเปเบกเบนเบเบเบดเปเบชเบเบฎเบฝเบเบฎเปเบญเบเปเบซเปเบกเบตเบเบฒเบเปเบเปเปเบเบเบดเปเบชเบ;
- เบเบฒเบเบฅเบงเบเบฅเบงเบก Spark เปเบกเปเบเปเบง, เปเบเปเบเบฒเบเปเบเปเบเบชเปเบงเบเปเบกเปเบเบเบฑเบเบกเบตเบฅเบฒเบเบฒเปเบเบ;
- เบขเปเบฒเบเบญเบเปเบกเบทเปเบญเบเบงเบเปเบเบปเบฒเบชเบญเบเบเบทเปเบเบเบฒเบเปเบซเปเบเปเบฒเบ, เบเบฒเบเบเบปเบเบญเบฒเบเบเบฐเปเบเปเปเบเบเบฑเบเบซเบฒเบเบญเบเปเบเบปเปเบฒเปเบฅเปเบงเปเบเบเบธเบกเบเบต 1980;
gnu parallel
- เบญเบฑเบเบเบตเปเปเบเบฑเบเบเบญเบ magical, เบเบธเบเบเบปเบเบเบงเบเปเบเปเบกเบฑเบ;- Spark เบกเบฑเบเบเปเปเบกเบนเบเบเบตเปเบเปเปเบเบทเบเบเบตเบเบญเบฑเบเปเบฅเบฐเบเปเปเบกเบฑเบเบเบฒเบเบฅเบงเบกเบเบฒเบเบดเบเบฑเบ;
- Spark เบกเบต overhead เบซเบผเบฒเบเปเบเบตเบเปเบเปเบเปเบงเบฅเบฒเบเบตเปเปเบเปเปเบเบเบฑเบเบซเบฒเบเปเบฒเบเบเบฒเบ;
- AWK's associative arrays เบกเบตเบเบฐเบชเบดเบเบเบดเบเบฒเบเบซเบผเบฒเบ;
- เบเปเบฒเบเบชเบฒเบกเบฒเบเบเบดเบเบเปเป
stdin
ะธstdout
เบเบฒเบ R script, เปเบฅเบฐเบเบฑเปเบเบเบฑเปเบเบเบถเปเบเปเบเปเบกเบฑเบเบขเบนเปเปเบเบเปเป; - เบเปเบเบญเบเปเบเบเบฑเบเบเบฒเบเบเบฐเบเบดเบเบฑเบเปเบชเบฑเปเบเบเบฒเบเบเบตเปเบชเบฐเบซเบฅเบฒเบ, S3 เบชเบฒเบกเบฒเบเบเบธเบเปเบเปเบเปเบเบฅเปเบเปเบฒเบเบงเบเบซเบผเบฒเบ;
- เปเบซเบเบเบปเบเบเบปเปเบเบเปเบชเปเบฒเบฅเบฑเบเบเบฒเบเปเบชเบเปเบงเบฅเบฒเปเบกเปเบเบเบฒเบเปเบเบตเปเบกเบเบฐเบชเบดเบเบเบดเบเบฒเบเบงเบดเบเบตเบเบฒเบเปเบเบฑเบเบฎเบฑเบเบชเบฒเบเบญเบเบเปเบฒเบเบเปเบญเบเปเบงเบญเบฑเบเบเบงเบ;
- เบขเปเบฒเบเบฐเบเบฒเบเบฒเบกเปเบเบตเปเบกเบเบฐเบชเบดเบเบเบดเบเบฒเบเบงเบฝเบเบเบฒเบเบเปเบงเบเบเบปเบเปเบญเบ, เปเบซเปเบเบญเบกเบเบดเบงเปเบเบตเปเบฎเบฑเบเบกเบฑเบ;
- API เบเบงเบเบเบฐเบเปเบฒเบเบเบฒเบเบชเปเบฒเบฅเบฑเบ sake เบเบญเบเบเบงเบฒเบกเบชเบฐเบเบงเบเปเบฅเบฐเบเบงเบฒเบกเบเบทเบเบซเบเบธเปเบเบเบญเบเบเบฒเบเบเปเบฒเปเบเป;
- เบเปเบฒเบเปเปเบกเบนเบเบเบญเบเบเปเบฒเบเบเบทเบเบเบฐเบเบฝเบกเบเบต, caching เบเบฐเบเปเบฒเบ!
เปเบซเบผเปเบเบเปเปเบกเบนเบ: www.habr.com