## Work 最近主要的业务都是data ETL。 主要是加工各个站点和APP传过来的用户日志并生成数据池,再进一步加工生成数据市场。 项目技术栈: pySpark + shell + AWS EMR + Redshift + S3 + DynamoDB + Lamda。 印象较深的有 External Table 这个概念,Tera量级的日志存进数据库成本太高。所以采取Parquet的这个结构,虽然是文件但是属于列存储所以比较适合数据的查询分析。 日本TOP1航空公司的项目,TOP1广告公司的开发团队。 有幸接触到这个数据处理加工项目还真的学到蛮多。 直接开120台EC2级别的EMR集群执行job的经历大概以后少有了。 特别感受到了shell的魅力。大神们写的配置/日志库+AWS服务联动非常强。 - Analytics Data Feed ``4TB/day 1000+ columns`` - Analytics Segment Data ### 大致的数据加工流程 S3:Raw → (Spark Hadoop) | S3:Data Lake | ← (Spectrum)Redshift → Data Market(latest data) 数据格式流:tsv → parquet → database ### Format - Raw: tsv - Data Lake/mart: Parquet - Redshift: External Table ①three optimized file formats for use in Hadoop clusters: Optimized Row Columnar (ORC), Avro, and Parquet. Machine-readable binary formats: Could be split across multiple disks for scalability and parallelism - Parquet and ORC: Store in columns. → read-heavy - Avro: row-based format. → write-heavy All the data is compressed to apache parquet format, for fast retrieving speed and lower cost in redshift. Jobs are based on pyspark, and the data will be used for web log analytics, also meaning read-heavy. ![BIG DATA FORMAT COMPARISON](https://2s7gjr373w3x22jf92z99mgm5w-wpengine.netdna-ssl.com/wp-content/uploads/2018/05/Nexla-File-Format.png) ## Reference - ①[Big Data File Formats Demystified](https://www.datanami.com/2018/05/16/big-data-file-formats-demystified/)