大数据文摘出品
来源:medium
编译:睡不着的iris
说到技术栈,你能想到什么?
组织在构建自己专属的技术栈时,会使用到各种不同的相似技术。但也存在一些趋势,如果你正在组建一个新的团队、组织或公司的时候,一开始你可能需要效仿某个现成的技术栈,再依据需求来构建自己的技术栈,还需要对一些过时的技术进行升级。
medium上的一位博主最近与数据工程师、数据科学家和分析师交流后,总结了技术栈信息,并分享了每个部分都有哪些最常使用的栈,至于云服务选择、容器、CI/CD工具等应用和模型部署相关的技术,就留给工程师和DevOps伙伴们来探索。
一起看看。
数据库:MySQL
数据仓库:PostgreSQL, Snowflake
ETL:Embulk, Python, Airflow
可视化:Redash, Metabase
人工智能/机器学习:暂无
数据库:PostgreSQL
数据仓库:PostgreSQL + Stitch
ETL:大量使用Python
可视化:Matplotlib, TensorBoard (sorta?)
人工智能/机器学习:无处不在的TensorFlow,部分Sklearn或开始尝试使用
数据库:MongoDB (NoSQL), 或迁移至 DynamoDB (NoSQL)
数据仓库:Amazon Redshif
ETL:Airflow, Python
可视化:什么都有一些
人工智能/机器学习:投入可观
数据库:SQL Server (几乎钟情于Azure SQL DB)
数据仓库:Azure Synapse (SQL DW), Snowflake
ETL:Azure Data Factory, Python
可视化:Tableau, Power BI
分析:什么都有一点
人工智能/机器学习:什么都有一点
数据库:Redis, SQL Server
数据仓库:Azure Databricks (Spark)
ETL:Azure Data Factory, Python
可视化:Redash
人工智能/机器学习:随机一次性使用,或依据用户偏好来
数据库:MySQL(其他基本用的很少)
数据仓库:Hive (以Hive为主,其他随意)
ETL:50 种不同工具 (有些夸张,但真没什么结构)
可视化:使用各种主流可视化工具
人工智能/机器学习:什么都有,看用户偏好
数据库:MySQL, Cassandra (NoSQL), 定制其他数据库
数据仓库:Hadoop&定制/从头开始构建
ETL:各种用例所需的栈都不同,该公司对技术栈选型所考虑的因素比较多……最终自己开发了不少ETL工具,或使用现成的工具
可视化:常用的有Python库、R和Tableau,但也会自己开发一些工具,并将工具开源
人工智能/机器学习:采用TensorFlow框架实现深度学习,常见的机器学习标准库,自行开发各类用于模型管理、追踪指标的工具
最高效的方法是直接效仿,但你得搞清楚他们都能帮忙你做什么,才可以用好。比如同是学习勒布朗·詹姆斯电影,你可能成为一个好的篮球选手,你可以花费大量时间来研究他的比赛,或模仿他的比赛方式来提升球技,但你终究不是詹姆斯。如果你和我一样,远没有詹姆斯那样的超能力,也不能跳过天花板,你就需要研究如何在比赛中表现得更好,变得更加优秀。
需要注意的是,很多技术我都没有列出,你可能也发现了其中缺少一些流行的技术,例如Impala(Hadoop引擎)、Rapidminer(分析工具)、R(编程语言)、PyTorch(机器学习库)等。如果你没有看到自己喜欢的技术,请不要生气,这只能说明我只访谈了小部分人,他们没有用到这些技术。
相关报道:
https://towardsdatascience.com/some-common-data-science-stacks-7525477c0dd0