Databricks Redshift集成:2种简单方法
Abhinav Chola关于亚马逊Redshift, 数据集成,数据仓库,Databricks,ETL,教程- 2022年6月14日 -Write for Hevo
亚马逊Redshift 是一个著名的基于云的存储库,提供数据仓库服务,并支持对巨大数据集的快速查询处理。所有垂直行业的企业都利用这个可扩展的工具来积累他们的PB级数据。它是大数据专业人士的首选平台,因为它具有易于使用的界面和广泛的协作选项。然而,公司往往需要协作他们的结构化和非结构化数据进行分析。由于亚马逊Redshift只能在结构良好的数据上运行,企业寻求将他们的数据转移到一个可以支持所有形式信息的平台。Databricks就是这样一个目的地。
Databricks是一个强大的开源存储层,为你提供一个湖心岛架构,以数据湖的成本运作,但提供高水平的数据仓库性能。此外,公司可以在其现有的数据湖之上无缝运行Databricks。
这篇文章将向你介绍Databricks和Amazon Redshift以及它们的独特功能。它还将讨论两个简单的方法,你可以使用这些方法将你的数据从Redshift转移到Databricks。请继续阅读,了解设置Redshift Databricks集成的过程及其优势。
目录
什么是Databricks?
Databricks是最受欢迎的数据工程平台之一,它依靠基于云的技术对大量数据集进行分析。它还利用其机器学习功能促进了细化水平的数据管理。此外,在与Azure合作后,Databricks现在正作为最新的大数据工具在庞大的微软云环境中发挥作用。
Databricks在所有垂直行业的企业中都有应用,因为该工具允许公司通过利用机器学习技术和ELT(提取、加载、转换)流程来执行高级数据分析。Databricks平台之所以受欢迎,是因为它们能够以分布式方式处理数据。这意味着,Databricks可以将工作负载分割成多个子任务,并在不同的处理器上运行它们。这样,你就可以无缝地扩展你的工作,以配合你不断变化的数据需求。此外,Databricks还能很好地简化高端数据处理,同时将机器学习模型自动化,以减少你的工作复杂性。
Databricks的主要特点
Databricks包含以下功能,促进无缝数据处理数据。
- 高度数据压缩。Databricks与Spark引擎合作,管理大规模数据压缩。它还支持高速数据流和查询处理环境,可以简化你的数据管理,并产生一个对程序员友好的环境。
- 庞大的合作。Databricks为利益相关者提供了一个共同的合作平台,特别是当他们依靠不同的编程语言进行软件开发时。例如,使用Python、R和Scala等编程语言的程序员可以使用Databricks的互动功能和用户界面合并他们的工作。
- 强大的安全性。当涉及到其数据的安全性时,Databricks拥有多层安全性,以规范对其信息的访问。例如,身份管理和公钥加密是Databricks采取的一些安全措施。
要了解更多关于Databricks的信息,请访问这里。
什么是亚马逊Redshift?
亚马逊Redshift是亚马逊云技术提供的一种高级存储设施。它是一个数据仓库,让你解决你的大数据存储问题。这个亚马逊数据仓库为你提供了一个可扩展的存储系统,能够将PB级的数据存储在易于访问的集群中,你可以同时查询。
亚马逊Redshift的设计使其能够很容易地与丰富的数据源和工具集合集成。此外,你可以在这个数据仓库上直接启动现有的SQL环境。由于Redshift部署了一个基于大规模并行处理(MPP)的架构,它可以一次性处理数百万行,甚至提供高水平的可扩展性。此外,Redhsift的分层结构可以同时满足多个数据请求并减少延迟。
亚马逊Redshift的主要特点
- 高性能。亚马逊Redshift的架构使其能够支持高速查询处理,即使是以PB为单位的庞大数据集。这种高数据支持是由于这个数据仓库的列存储和数据压缩功能,减少了处理查询所需的I/O。
- 机器学习。亚马逊Redshift的复杂机器学习模型确保了高吞吐量,即使你正在处理可变的工作负载和用户活动。由于它使用发达的算法来预测传入请求的等级,这个数据仓库可以将资源动态地分配给各种集群。
- 可扩展性。亚马逊Redshift便捷的可扩展性使您能够满足当前市场不断增长的数据需求。只需点击几次仪表盘或简单的API调用,就足以扩展节点的数量。
- 安全。使用简单的选项,您可以手动配置Amazon Redshift,使其符合SSL,为您的数据在传输中提供安全保障。此外,你可以依靠硬件加速的AES256加密来保护你的静态数据的安全。
要了解更多关于Amazon Redshift的功能,请访问这里。
探索这些方法来连接Redshift和数据库砖
亚马逊Redshift在管理高数据量、容错性和耐用性方面的能力已经得到证实。此外,Databricks是一个存储库,提供数据仓库设施并进行实时分析。整合后,将数据从Redshift转移到Databricks可以解决企业的一些最大数据问题。在这篇文章中,我们介绍了两种方法来实现这一目标。
方法1:Databricks Redshift整合使用Hevo数据
Hevo Data是一个自动数据管道,它为你提供了一个无忧无虑的解决方案,可以在几分钟内将**Redshift**连接到 Databricks 在几分钟内通过一个易于使用的无代码界面连接到Redshift。Hevo是完全管理的,不仅可以从Redshift加载数据,还可以丰富数据并将其转化为可分析的形式,而无需编写一行代码。
方法2:使用CData进行Databricks Redshift整合
这种方法实施起来会很费时,而且有些繁琐。用户必须编写自定义代码,通过CData手动设置数据传输过程。此外,这种方法只适合有技术背景的用户。
下面将对这两种方法进行解释。
方法1:使用Hevo Data整合Databricks Redshift
Hevo Data是一个无代码数据管道解决方案,可以帮助你从100多个数据源**(包括40多个免费数据源**)实时无缝复制数据,如Redshift 到你想要的目的地,如Databricks,其他数据仓库或数据库,以一种完全无忧无虑和自动化的方式。Hevo的容错架构使整个ETL过程自动化,其方案映射器动态地将你的数据从Redshift映射到Databricks,不需要任何人工干预。因此,你可以专注于其他关键业务活动,并依靠Hevo来管理数据传输过程。
使用Hevo将Databricks连接到Redshift是一个简单的两步过程。
- 验证来源。使 用你的Hevo账户,设置一个管道并认证你的Amazon Redshift账户作为数据源,如下图所示。
- 配置目的地。接 下来,将你的Databricks账户设置为Hevo的无代码数据管道的目标,如下图所示。
这就是了!你的Databricks Redshift集成已经准备好了,你现在可以在Databricks中轻松分析Redshift数据了。
看看Hevo的神奇之处。
- 完全管理。Hevo不需要管理和维护,因为它是一个完全自动化的平台。
- 数据转换。Hevo提供了一个简单的界面来完善、修改和充实你要传输的数据。
- 更快的洞察力生成。Hevo提供近乎实时的数据复制,所以你可以获得实时的洞察力生成和更快的决策。
- 模式管理。Hevo可以自动检测传入数据的模式,并将其映射到目标模式。
- 可扩展的基础设施。Hevo有内置的100多个来源的集成(有40多个免费来源),可以帮助你根据需要扩展你的数据基础设施。
- 实时支持。Hevo团队24小时不间断地通过聊天、电子邮件和支持电话向客户提供特殊支持。
方法2:使用CData整合Databricks Redshift
你可以通过以下步骤使用CData设置Databricks Redshift集成。
- 步骤1:在Azure集群上安装JDBC驱动
- 第2步:建立Databricks Redshift连接
- 第3步:配置Databricks Redshift连接
- 第4步:加载和显示Redshift数据
- 第5步:在Databricks中执行数据分析
步骤1:在Azure集群上安装JDBC驱动
为了将Redshift的实时数据传输到Databricks,你需要使用以下步骤在Azure集群上安装JDBC驱动。
- 进入你账户中的Databricks管理界面,点击目标集群。
- 现在,导航到 "库"选项卡,选择 "安装新"。
- 接下来,选择 "Upload"作为源,"**Jar "**作为库的类型。
- 最后,从你的本地系统上传JDBC JAR文件(cdata.jdbc.redshift.jar),如下图所示。
第2步:建立Databricks Redshift连接
一旦你安装了JAR文件,就在工作区创建一个笔记本并命名。接下来,选择Python作为语言的选择,然后点击安装JDBC驱动的集群。启动笔记本后,你可以配置连接并查询Amazon Redshift数据,以创建一个简单的报告。
第3步:配置Databricks Redshift连接
你可以通过引用JDBC驱动类来建立Redshift Databricks连接,并使用它来构建一个连接字符串fr JDBC URL。此外,你必须在JDBC URL中设置RTK属性,如下所示。
driver = "cdata.jdbc.redshift.RedshiftDriver"
url = "jdbc:redshift:RTK=5246...;User=admin;Password=admin;Database=dev;Server=examplecluster.my.us-west-2.redshift.amazonaws.com;Port=5439;
填入所需的细节,并完全配置。
第四步:加载和显示Redshift数据
一旦配置好Databricks Redshift连接,你就可以通过CData JDBC驱动以数据框的形式直接加载Redshift数据,具体代码如下。
remote_table = spark.read.format ( "jdbc" )
.option ( "driver" , driver)
.option ( "url" , url)
.option ( "dbtable" , "Orders")
.load ()
接下来,通过使用如下的显示函数来监控加载的Redshift数据。
display (remote_table.select ("ShipName"))
这段代码的输出如下图所示。
第5步:在Databricks中执行数据分析
如果你想利用Databricks Redshift连接进行数据分析,请通过Databricks SparkSQL将加载的信息注册为 Temp View,如下所示。
remote_table.createOrReplaceTempView ( "SAMPLE_VIEW" )
此外,你可以使用以下SparkSQL代码来检索Redshift的数据进行分析。
SELECT ShipName, ShipCity FROM Orders
请记住,来自Redshift的数据只在目标笔记本中可用。这意味着你需要先把它保存为一个表,如下图所示。
remote_table.write.format ( "parquet" ) .saveAsTable ( "SAMPLE_TABLE" )
下面的输出是由上述代码产生的。
现在你可以使用Databricks Redshift集成来分析你的业务数据,并提取可操作的洞察力。
Databricks Redshift整合的优势
通过设置Databricks Redshift集成,你可以体验到以下优势。
- 您的数据工程师将能够利用Redshift数据,在Databricks中创建和编辑复杂的非结构化数据集群。这使您的数据专业人员能够利用这些集群,并将其发送给数据科学家和数据分析师进行审查。
- 使用Databricks Redshift集成,您的数据科学家可以扩大他们的搜索范围,提供更好的洞察力。此外,你可以在一个单一的界面中对一个共同的数据集群运行各种高级分析。在此期间,Databricks会执行自动扩展,以尽量减少使用的总资源。
- 一旦Databrocks Redshift整合到位,从你的Redshift数据中得出的洞察力可以很容易地存储在Azure Databricks。这是一种处理原始信息的优选方式,因为Databricks的架构允许你以PB级规模管理数据,还可以让你对任何类型和规模的数据进行操作。Databricks平台利用Power BI,它能够将你的发现可视化为一个交互式的仪表盘。
总结
这篇文章向你介绍了Databricks和Amazon Redshift以及它们的主要特点。它还为你提供了一个分步指南,让你使用两种简单的方法来设置Databricks Redshift的集成。此外,该博客还讨论了连接这两个工具的多种优势。基于CData的手动方法需要你为Databricks Redshift的整合编写脚本,并为已建立的连接提供定期维护。所有这些手动方法的限制都可以通过使用Hevo这样的自动数据管道来克服。
现在,要在你的原始数据上运行查询或执行数据分析,你首先需要将这些数据导出到数据仓库。这将需要你自定义编码复杂的脚本来开发ETL流程。 海沃数据可以使你的数据传输过程自动化,从而使你能够专注于你的业务的其他方面,如分析,客户管理等。这个平台允许你从 100多个来源,如Redshift到**Databricks**,或到你选择的任何其他目的地传输数据。它将为你提供无忧无虑的体验,使你的工作生活更加轻松。
想体验一下Hevo吗?注册一个为期14天的免费试用,亲身体验功能丰富的Hevo套件。
请在下面的评论中分享你对Databricks Redshift集成 的理解!