介绍
每个组织都努力成为数据驱动的,并使他们的数据消费者能够做出基于证据的决策,以回答重要的业务问题. 进一步, 作为数据量, 问题和数据消费者在增长, 组织成为和/或保持数据驱动的唯一方法是以自助服务的方式提供这些功能. 允许所有类型的数据消费者以自助方式获得其业务问题的答案的一种常用方法是通过商业智能(BI)仪表板. BI仪表板 在整个组织中广泛使用,以直观和有效的方式为所有技术技能水平的用户提供对业务的洞察和对业务问题的回答. 然而, 而仪表板则有助于整个组织的分析民主化, 使个人用户和整个企业受益, 当它们在今天的组织中实际实现时,会出现一些限制, 哪些对业务有严重影响. 为用户提供仪表板的后端架构通常是这样的:
与此方法相关的问题有几个, 哪一个以10为单位加重了, 在一个组织中使用的数百甚至数千个仪表板:
- 更改的周转时间较慢
- 每次仪表板更改通常都需要对BI提取进行更新, 数据仓库结构, 和ETL过程, 乘以整个组织中使用的无数仪表板, 数据工程的积压工作急剧增长,并导致对业务问题的回答出现长时间的延迟.
- 与十大网赌靠谱网址平台合作的一些组织说,使用这种体系结构,即使是很小的指示板更改也可能需要三周或更长时间才能解决.
- 数据大小限制
- 用户可以访问的数据比他们通常需要的要少得多, 在数据粒度方面(例如.g.例如,月与日)以及数据集的历史记录(例如.g.(1个月vs 3年).
- 仪表板响应时间随着数据大小和复杂性的增加而变慢
- 这让用户感到沮丧,并减少了数据消费者能够和/或愿意提出的问题数量.
- 数据漂移和法规遵从性问题
- 数据仓库中的额外数据副本和BI提取(以及潜在的 数据集市 两者之间)会导致数据漂移和法规遵从性问题.
- 运营成本
- 数据工程师必须创建和管理ETL管道, 数据仓库结构和BI提取, 增加运营成本.
- 基础设施成本
- 您必须为ETL计算资源支付额外费用, 数据仓库计算, 数据仓库数据存储, BI提取资源.
- BI提取是该BI工具所独有的
- 使用其他BI的用户, 组织中的数据科学和SQL客户端工具无法利用这种优化, 相反,他们必须自己进行优化, 进一步加剧了数据漂移, 法规遵从性和基础设施成本问题.
- 即使组织现在使用单一的BI工具, 你被锁定在仪表板工具上了, 禁止允许用户自由选择其他BI工具或在将来迁移到另一个BI工具.
考虑到这种方法的所有缺点,为什么它是仪表板的通用架构? 最主要的原因是因为十大网赌靠谱网址平台所掌握的工具的能力有限. 不再.......
组织每天都使用Dremio为数据消费者提供仪表板,而不受上述限制. 在Dremio中,提供仪表板的架构是这样的:
这篇博文演示了将一个由传统架构支持的仪表板迁移到由Dremio支持的开放数据湖架构支持的仪表板是多么简单. 十大网赌靠谱网址平台将逐步介绍如何使用基于提取的仪表板,并对其进行修改,以便直接针对数据湖存储运行实时查询.
以下是执行迁移所涉及的步骤:
- 发射Dremio
- 将Dremio链接到数据集
- 在BI工具中添加Dremio作为仪表板的源
- 用Dremio替换仪表板的提取数据源
- 优化仪表板性能
这篇博客文章中的所有内容和资源都是公开的, 所以你可以一步一步地跟着做.
另外, 您可以使用组织的仪表板之一,并使用相同的说明在Dremio上运行它.
本教程使用Tableau, Dremio的AWS版, 和S3, 然而, 当使用不同的BI工具时,流程通常是相同的.g., 权力BI)和不同的数据湖(例如.g.(ADLS),尽管具体步骤可能因BI工具的不同而略有不同.
本教程使用以下仪表板来分析纽约市出租车乘坐数据集,以提供业务kpi:
从商业角度来看, 对于底部和右侧的图表来说,周级别的粒度是可以的, 然而, 如果十大网赌靠谱网址平台决定使用日级别粒度的数据,将会更有价值.
进一步, 因为这个指示板是基于聚合表的, 所使用的特定计算是硬编码在表的物理结构中. 例如,仪表板使用的总和和平均值 总金额
场. 如果业务需求发生变化, 这是不可避免的, 需要最小值和最大值 总金额
字段,将需要许多更新.
在传统架构中,当前支持仪表板, 这些类型的变化通常需要以下步骤:
- 最终用户在请求时发出一个票据.
- 当数据工程能够接收请求时, 它们修改ETL作业,以按天而不是按周汇总数据, 添加新的Max和min字段
总金额
.
- 如果现有的仪表板进程不能经历停机, 除了现有的聚合表之外,还创建了一个新的聚合表.
- 测试了填充新聚合表的新ETL作业. 一旦测试和验证完成,作业就会被调度.
- 然后在本地修改仪表板以使用新的聚合表, 更改数据源以及仪表板中的字段引用,以查看新的日级粒度字段和新的Max和min字段. 这一步通常由不同的团队来处理.
- 仪表板更改完成后, 仪表板与新聚合表上的新提取的创建和调度一起发布.
- 在QA和某种程度的UAT完成后, 指向现有指示板的任何内容都将更改为指向新指示板.
- 充分生产使用后, 旧仪表盘, 提取, 聚合表, 和ETL工作都退休了.
对于许多组织来说,这个过程可能需要三周或更长时间. 下面,十大网赌靠谱网址平台将演示由Dremio支持的仪表板如何更简单、更快地进行更改.
现在, 让十大网赌靠谱网址平台深入研究并逐步了解在由Dremio提供支持的现代数据湖架构上运行仪表板的步骤.
发射Dremio
如果您还没有运行Dremio部署, 最简单的方法是通过Dremio的AWS Edition获得, 让你和德雷米奥在五分钟内开始工作. 这里有一个链接 在AWS上发布Dremio, a 步骤的视频演练, 一步一步的文档. Dremio也可以通过亚马逊的平台进行部署 的在微软Azure上 部 or 手臂模板, on Hadoop通过YARN,甚至是 独立的过程. 虽然本演练推荐使用Dremio AWS Edition,但可以使用其中任何一种. 如果您正在使用上面链接的打包工作簿和备份数据, 建议将其部署在AWS的us-west-2(俄勒冈州)区域内或附近,因为使用的样例数据位于us-west-2的S3中, 从架构和性能的角度来看,最接近数据重心的部署是最佳实践.
链接Dremio到数据集
第一个, 您希望将Dremio指向将用于仪表板的云数据湖中的数据集. 在这个例子中, 样品
Dremio中的source是一个S3桶.
将BI仪表板迁移到直接在云数据湖上运行!
- 添加一个新的数据湖源,并选择
样本来源
option.
- 选择
样品.bbgint.com
桶.
- 单击
促进
的图标 NYC-taxi-trips
文件夹.
将BI仪表板迁移到直接在云数据湖上运行!
- 在Tableau Desktop中打开仪表板.
- Select
新数据源
并选择 Dremio连接器由Dremio
当使用Tableau SDK连接器时,或 其他数据库(ODBC)
使用Dremio ODBC驱动程序时.
- 填写连接信息:
- 如果使用Dremio ODBC驱动程序,选择Dremio Connector作为驱动程序,并输入31010作为端口.
- 为
服务器
,输入要访问Dremio UI的IP.
- 输入启动Dremio时创建的用户名和密码.
- 在
数据源
页,选择 DREMIO
作为数据库和 样品.样品.bbgint.com
作为图式. 拖动 NYC-taxi-trips
数据集到画布中.
将BI仪表板迁移到直接在云数据湖上运行!
- 去看床单
按月乘车次数
.
- 右键单击
NYC_TAXI_TRIPS_WEEKLY_AGG
数据源和选择 替换数据源
. 默认选项将替换仪表板的现有数据源(来自云数据仓库的提取),以对数据湖中的数据向Dremio发起实时查询. 点击 OK
.
当你这样做的时候, 您将在左侧栏的一些旧字段上看到红色感叹号,并且在画布架子中看到对这些字段的引用. 这是Tableau报告那些字段在Dremio数据集中不存在的方式, 这是意料之中的. 逻辑NYC旅行数据集实际上没有 平均总金额
场,它只有一个 总金额
字段,从中取平均值.这是聚合表限制的一个很好的例子. 十大网赌靠谱网址平台想要进入 总金额
数据本身,然后十大网赌靠谱网址平台可以做平均,求和,计数和任何十大网赌靠谱网址平台想要执行的计算. 十大网赌靠谱网址平台只需要告诉Tableau 平均总金额
和 合计金额
是数据中的一个字段(总金额
),分别对其进行平均值和总和聚合.
- 对于左侧栏中带有红色感叹号的每个字段,右键单击它,选择
取代引用
,并选择由Dremio提供的非聚合表字段.
- 例如,替换
平均总金额
与 总金额
, 平均票价金额
与 费用金额
, 小周
与 皮卡Datetime
.
- 确保所有6个有红色感叹号的字段的引用都被替换了.e.,没有更多的红色感叹号).
- 请注意,因为Tableau不允许您将对数据字段的引用替换为对动态字段的引用, 你不能用
取代引用
为 Num骑
右外场 NYC-taxi-trips(计数)
,所以你需要在使用它的两个地方修改它.
- 在工作表中
按月乘车次数
和 总乘坐次数
,拖 NYC-taxi-trips(计数)
在红框引用之上 总和(Num骑)
来替换它. 然后你可以右键单击 Num骑
在左侧栏中单击 删除
.
现在仪表板直接在数据湖中的数据上运行实时查询, 无需创建和管理任何ETL作业, 数据仓库, 或BI提取物. 您可以修改拾取时间过滤器,以查看仪表板基于这些实时查询的变化. 这些实时查询中的每一个都会分析十亿行的三分之一,以便为仪表板提供服务.
注意,在几个查询之后,仪表板上的响应时间从3秒到10秒不等, 取决于过滤器中包含了多少个日期, 这对于分析十亿行的三分之一是非常好的. 这种性能对于某些仪表板来说已经足够了,具体取决于性能目标.
然而, 如果能为用户提供亚秒级的体验,那就更好了, 这样他们就可以问更多的商业问题,并获得真正的互动体验.
使用Dremio进一步优化仪表板性能非常简单, 对数据提供者和数据消费者都适用, 使用一个名为 数据反映.
在高水平上, 您可以将数据反射看作是物化视图和索引之间的混合体. 它做类似于物化视图的预计算, 然而, 它对用户透明地替代了优化后的结构, 很像索引, 因此,用户和应用程序可以在他们想要的逻辑和语义级别上操作, 同时体验交互性.
将BI仪表板迁移到直接在云数据湖上运行!
- 在remio UI中查看NYC-taxi-trips数据集,然后选择
反射
数据集的标签.
- 您可以选择创建一个 原始的或聚合的 反射. 因为这是一个做聚合的仪表板, 就像大多数仪表盘一样, 您希望为优化创建聚合反射.
- 您需要指定哪些字段是维度(对哪些字段使用单独的值)和度量(对哪些字段使用聚合值). 基于 这些简单的指导方针,
pickup_datetime
尺寸和票价、小费和总额都是计量吗.
- 对于哪些字段是维度,哪些字段是基于数据类型和分布的度量,Dremio给出了建议. 在这种情况下, 您只想删除仪表板中未使用的几个字段以降低资源使用:remove
passenger_count
从维度和 trip_distance_mi
通过单击字段名称旁边的减号图标从度量中删除.
- 通过打开聚合反射来启用聚合反射.
- 点击
保存
.
- (可选)单击
历史
查看创建反射作业的详细信息和状态. 大约需要10到20秒才能完成.
- 回到仪表板,玩一下滤镜.
注意,仪表板响应几乎是即时的, 允许仪表板用户拥有真正的交互式体验,并以思考的速度提出业务问题.也, 注意,在不修改任何应用程序逻辑或代码的情况下优化了应用程序的性能. 这是一个强大的功能,通过将应用程序逻辑与性能优化分离,极大地缩短了洞察时间.
- (可选)打开Dremio UI中的job页面,查看Tableau在每次更改过滤器时发送给Dremio的三个查询. 请注意,Dremio在不到一秒的时间内对所有这些并行响应. 实际上,每个查询在400毫秒或更短的时间内完成.
请注意,如果您希望使用其他数据湖SQL引擎来优化这个指示板, 您必须在数据湖中创建聚合表以实现交互性能. 然而, 这引起了与ETL和数据复制管理相同的问题,而十大网赌靠谱网址平台一开始就试图通过摆脱传统架构来避免这些问题.
修改仪表板以显示日级别粒度而不是周级别粒度
如前所述, 对于底部和右侧的图表来说,周级别的粒度是可以的, 然而, 对于十大网赌靠谱网址平台的决策来说,更有价值的是查看日级别粒度的数据.您可能已经注意到,在替换提取数据源时,数据仓库中聚合表中的字段具有日期字段as pickup_week
而不是 pickup_datetime
. 因此,十大网赌靠谱网址平台无法访问日期级别的粒度.现在德雷米奥访问原始数据, 十大网赌靠谱网址平台可以轻松地更改仪表板以显示日期级别的粒度.
将BI仪表板迁移到直接在云数据湖上运行!
- 在
平均票价和平均小费
工作表,右键单击 (皮卡Datetime)
然后选择 一天
已 8
右边的灰色部分是所有年份和月份的汇总数字.
- 在
上个月的平均和合计金额
工作表,右键单击 (皮卡Datetime)
然后选择 一天
已 2015年5月8日
右边的灰色部分是个人日期.
现在回到仪表板视图,它现在在两个图表中显示了日级别的粒度. 这将为您提供更具可操作性的数据视图.
这种方法的好处
这种架构消除或减轻了传统架构的所有问题:
- 仪表板更改和业务问题的快速周转时间.
- 由于访问和优化基于经济高效的横向扩展平台,因此没有数据大小限制.
- 随着数据大小和复杂性的增加,仪表板响应时间仍然是交互式的. 这是由于访问和优化是基于一个高性能的横向扩展平台.
- 最小的数据漂移和法规遵从性问题,因为派生数据结构由平台管理, 这与索引不会导致数据漂移或遵从性问题类似.
- 由于平台管理性能优化,大大降低了运营成本.
- 基于经济高效的平台直接在数据湖中分析数据,通过访问和优化,大大降低了基础设施成本.
- 无论当前和将来使用什么客户端工具,都可以进行集中优化, 无论是多种BI工具, SQL的客户, 自定义应用程序, Python的笔记本, 等.
结论
将一个由传统的基于数据仓库的架构支持的仪表板迁移到由Dremio支持的开放数据湖架构非常简单,并且为个人用户提供了许多好处, 业务单位, 以及组织中更广泛的分析景观. 寻找更多信息或帮助从一个Dremio专家? 请随意张贴在 社区论坛 或者十大网赌靠谱网址平台 (电子邮件保护).