我正在为我的公司建立数据架构。这是一个简单的ETL过程,包括内部和外部数据,旨在构建静态仪表盘和搜索趋势等功能。
我尝试逐步思考ETL过程的每个步骤,现在我在质疑“加载”部分。
我计划使用Spark(在开发环境中使用LocalExcecutor,在生产环境中使用Azure服务),因此我开始考虑将Parquet存储到Blob服务中。我知道Parquet相对于CSV或其他存储格式的所有优点,我真的很喜欢这项技术。我阅读的大多数有关Spark的文章都以
但我无法想象为什么不能直接启动Postgres并将所有内容保存在那里。我理解我们不会每天产生100G的数据,但我想构建一些未来可靠的东西,特别是在一个快速增长的公司中,由于业务和记录的日志和指标等原因,数据将呈指数级增长。
有经验的开发人员能否提供任何专业意见?
编辑:这也让我开始质疑这条推文:https://twitter.com/markmadsen/status/1044360179213651968
我尝试逐步思考ETL过程的每个步骤,现在我在质疑“加载”部分。
我计划使用Spark(在开发环境中使用LocalExcecutor,在生产环境中使用Azure服务),因此我开始考虑将Parquet存储到Blob服务中。我知道Parquet相对于CSV或其他存储格式的所有优点,我真的很喜欢这项技术。我阅读的大多数有关Spark的文章都以
df.write.parquet(...)
结尾。但我无法想象为什么不能直接启动Postgres并将所有内容保存在那里。我理解我们不会每天产生100G的数据,但我想构建一些未来可靠的东西,特别是在一个快速增长的公司中,由于业务和记录的日志和指标等原因,数据将呈指数级增长。
有经验的开发人员能否提供任何专业意见?
编辑:这也让我开始质疑这条推文:https://twitter.com/markmadsen/status/1044360179213651968