现代化的经验教训美国入籍与移民服务局数据分析平台bob体育客户端下载

下载幻灯片

美国公民和移民服务(USCIS)是政府机构,负责监督合法移民到美国。美国入籍与移民服务局寻求安全的美国作为一个移民国家的承诺,通过提供准确和有用的信息给我们的客户,给予移民和公民利益,促进公民的认识和理解,并确保我们的移民体系的完整性。跟上日益增长的需求及时和高效的数据可访问性移民,美国入籍与移民服务局必须不断改进,评估、精简和修改我们的数据分析过程。

Apache火花与砖,云本地数据与三角洲湖湖,MLflow,和其他工具成为成功的一个关键因素我们的机构的项目如电子移民系统(伊利斯),次,操作和状态报告,欺诈检测,难民,庇护,国际业务(通过),由解放数据预测等。之前,美国入籍与移民服务局是被遗留系统操作性数据存储和过时的数据仓库包含不同的数据集从大型机到非结构化数据的关系数据库都需要不断更新。幸运的是,有一种方法保持当前的源系统更可靠的平台来降低风险,同时提供更好的功能和集装箱的应用程序。bob体育客户端下载我们提前传统关系数据库服务能力增加的用户社区和利益相关者的需求。尽管最近搬到云提高我们的能力,我们需要一个动态可扩展的平台,能适应和满足日益增长的数据需求。bob体育客户端下载这个演讲和技术演示将有一个深入的道路上完成这个需求和经验教训的有效和经济的方法使用砖和相关技术如Apache火花,三角洲湖和MLflow。

主题包括:

  • 约束适应遗留系统来满足需求
  • 构建一个高性能的解决方案,可以满足当前的需求和规模变化的技术平台bob体育客户端下载
  • 适应变化数据捕获的概念不可变的数据集
  • 发展一个统一的数据和分析平台bob体育客户端下载

看更多的火花+人工智能会话

免费试着砖

视频记录

——大家好。我是肖恩本杰明。我和美国入籍与移民服务局公民与移民服务。我的数据和商业智能。我一直为美国入籍与移民服务局工作自2006年以来,我们已经创建了第一个企业数据仓库在美国入籍与移民服务局和我在这里谈论我们的旅行使用砖和云服务的现代化。所以我们来到了云在大约2016年1月。我们知道在跟我们带来了一些问题。事实上,我们移动数据。所以我们有一个我们面临一些问题,我们正在使用ETL、Informatica ETL,管道相当脆弱,这是一个漫长的开发周期长和工作流。我们真的缺乏实时能力和实时,一段时间我喜欢打电话给相关的时间和真正缺乏数据科学平台。bob体育客户端下载 So we knew where we were going into the cloud and we knew where we wanted to be. So the real question we had to ask ourself was how do we get there?

遗留下来的建筑

所以我们把这个遗留建筑与我们同在。所以我们将源系统数据与Informatica把它到我们的数据仓库是甲骨文基地。我们仍在运行Oracle。然后把数据通过Oracle OBIEE是一个产品,我们叫智能在美国入籍与移民服务局和SAS。我们有一些数据科学家和他们提取数据的工具,使他们的笔记本电脑,运行R和Python代码,试图做计算能力和较低的数据科学活动绝对不是企业内部的愿景。我们已经很好的丰富的业务分析师和统计学家使用SAS和Oracle。

但是我们知道我们将进入云环境,让我们非常自豪。正如你可以看到,我们有36个数据源有28个ETL流程,2300用户。我们这样做,这是一个进化,大约花了八年时间获得。

但是一旦我们进入AWS我们知道我们需要扩大我们的用户群是扩大。和经济增长的速度开车绝对是我们想去的地方。于是我们开始做一些研究,当我们第一次进入云这个地方叫做eCISOR底部左边的屏幕上看到都是在Oracle。

DBIS

聪明的主题领域是被OBIEE上面,你可以看到员工的库是正确的,我们数据进入ArcGIS的格式,我们不是成功的与用户及时得到它。我们开始就开始学习自己和获得的数据数据意味着什么湖。这是我们走向非常感兴趣。

我们需要一个工具。当时我们有一个解决方案架构师和我们开始深入研究我们发现砖和点击灯泡真的我们需要做什么前进。所以我们建立了一个成功的概念证明砖。我们,VPC,我们走进一个26节点集的设置中,我们试图实现这四个目标如何支持,基本上我们当前的任务是什么,仍然前进。很明显我们需要连接Oracle数据库。所以我们连接的数据库集群的数据库,我们需要创建相关的蜂巢,开始复制的数据和上下文,我们看到这些很大的改进,我们说,你把这1.2亿行表到S3使用Scala代码从Oracle在砖在短短10分钟。我认为我们Informatica时间表上两三个小时左右。显然我们需要确定合适的参与者屏幕和创建多个笔记本。我们开始想把它从我们的用户群,让他们开始利用看到产品内的能力通过一个漫长的时间。我们基本上现在我们当前的实现。 And as you can see with Databricks and Spark setting alongside of Informatica as our ETL tool, the driving data from the sources, various sources whether it’s Kafka topics to Oracle Database Postgres SQL databases into the data lake as well as being able to source from both directly and through Databricks or from the Lake within our user interface tools such as Tableau, which we’ve recently procured, OBIEE and SAS and plus having a wealth of users within the Databricks Notebooks.

交付能力从单点多个组,没有那么多的转椅活动。我们做的一件事在我们的实现是我们决定,我们需要把我们的整个数据仓库到数据。这样,我们可以利用我们所有的接口工具内所有的数据,我们在美国入籍与移民服务局。

所以现在你看到的是我们看起来像大约四年后的亚马逊。我们从30 balloomed数据源到75的数据源。与35个应用程序接口,多个标志着三倍的大小我们的用户群引起的能力已经驱动的。现在你所看到的一切这张幻灯片的底部显示是美国入籍与移民服务局的企业数据湖。

然后我们仍然保留了甲骨文的平台。bob体育客户端下载现在我们所做的是当我们第一次开始与砖,我们试图把数据从数据源和甲骨文入湖中。我们意识到节约成本和摄入的速度远不如直接去湖。我们开始逆转,或重新设计ETL移动数据的数据流从源到湖,然后Oracle如果我们需要。我们可以访问数据与我们所有的ui湖。

其中的很多是利用通过砖访问或湖泊。所以砖坐在在ArcGIS的存储区域。现在我们还做什么是构建我们的数据合并和仓库直接入湖中。

的一件事,我真的很感激,你可以看到像我们已经能够增长的速度是砖给了我们能力分析数据或将数据快速理解更多关于数据更快的方式。和一些成功的故事,我谈论当我跟我们的客户,这是我让他们改变了我们的产品是失败的能力迅速恢复。当我说我们能有团队,我们带来了一些来自全国各地的团队建立一个产品我们所说的国家实践数据集是在旧工具他们使用SAS开始。这是带他们一天发现他们的逻辑是不正确的。所以他们会建立这个逻辑,他们会通过逻辑和运行所有的数据找出逻辑是正确的。

砖内,这是一个真实的故事,我们运行了一个非常复杂的查询通过砖,去吃午饭,回来19分钟,完成。和团队意识到,他们的逻辑是不正确的。那将是一个八小时19分钟损失损失。你真的可以看到房间里的数据分析师和业务分析师说,“哇,这个产品只是救了我们那么多的时间。“他们可以重新设计他们试图建立和再试一次,看看成功。我们有类似的故事只是采取一些更大的情景应用程序逻辑,在SAS跑了6个小时,建立可以称之为实时仓储、搬砖,我认为,10分钟,实际上更准确。这些功能已经开始,我们已经能够把这些故事并把它们用户社区。现在很多球队都开始建立自己的数据池内部湖和扩展到企业。

通过砖的成就,我们看到在这个相对较短的时间实现的三角洲湖,可能以后我们会讲一点。

可以插入更新、删除这是一个巨大的操作对于任何组织和能够把入湖中。和有能力与三角洲湖和那给球队带来什么。易于集成与我们的工具是关键的那些本地连接器OBIEE和SAS表。它是由事物对每个人都很简单。对我们的持续集成与GitHub的集成,部署。我们继续工作自动化帐户配置与砖。这样我们不会花费更少的时间。创建账户,我们有很多的要求。该工具为我们真正起飞,尤其是我们已经进入最后一个泡沫,机器学习在我们MLFow集成。在美国入籍与移民服务局外有多个团队的直接团队下降的道路建设大型毫升项目和实验。

使用三角洲湖变化数据捕获

所以我要交出,表示在现在Prabha Rajendran谁是首席工程师对我们的团队在实现数据砖和安装能力。——谢谢肖恩的介绍。我Prabha Rajendran,我一直USCIC项目自2013年以来,我也有机会开始,POC和为砖,今天走了,无论我们在哪里。

我也这段旅程的一部分,是我的特权。和获取到我们所做的技术方面,无论肖恩说在前面的幻灯片的一些成就,我们到目前为止已经作出的努力。在第一个变化数据捕获。当我们开始这次旅行,我们想复制来自Oracle的数据目标先入湖中。那么我们该怎么做呢?我们确保有一个管道或额外的霍英东目标我们可以卸下所有的数据通过砖或使用Scala代码入湖中。这就是我们开始作为一个简单的代码。你可以称之为是拉,将数据传送到湖边。所以至少BIEE应用程序用户将开始使用数据湖。这是我们如何开始,但我们如何能跟上变化数据捕获发生了什么。 If we have to have a new, real-time replication, how can we even accomplish this? Especially our two, three years before when Delta was not there, or it was not so popular at that time. Then we started everything with, we have to insert all the records into the lake. And then we had to do a rank function to do the de-duplication as well as to show the unique value for that particular record so that the reporting will not be affected the same way. So they transitioned from the Oracle to the Lake is seamless. So that’s how we started. That was a tedious way of coding for us, but Delta Lake which was introduced with all the enhancements that has been made so far in the Delta Lake for all the insert, updates and deletes to be captured made our life very easy. So we can use any of the streams like Kafka or Kinesis, or even AWS DMS, anything to land the data into S3. And then from there we wrote a framework in Delta. So all the data will be stored in S3 as a Delta Lake. So that’s how we transitioned. So what are we gained out of this is one is the users who are reporting off the Central Lake, they will not have the latency because the inserts and the rights were happening at the same time. And there was no latency for the users to retrieve these records. That was one advantage. And also there was a fast ingestion of the CDC changes. Then the quality of the reports which they were going against the Delta Lake, the performance was improved. That’s another thing, and if there was any schema changes back in the So System, it was very seamlessly replicated. Also the failures were gracefully tackled. So these were some of the advantages which Delta Lake as such had in its product. We kinda utilized that in our program, and we took forward that. But yes, what all we learned through this process when we implemented Delta Lake? Some of the things which we did not pay attention to was the vacuuming. We kinda, initially when we started this experimentation with Delta Lake. So the vacuuming was something which we kinda accommodated for a month and we still had our own hiccups when the logs were too huge and it really broke down our system. So vacuuming one mandatory thing, which we now have a seven day retention period, and even sometimes two day retention period, if the volume of the incremental for the CDC is more. So we kinda made sure that vacuuming is also part of this, any of this Delta Code Framework. So that is one thing we learned. And also one more thing we noticed out of this data was the storage requirement obviously increased on our end because we keep the logs aside. So that’s how we kinda modernized the Change Data Capture into our program. Let’s talk about once the data is landed into the Lake, how did our applications connect and how did our applications connect to these analytical platform? I’m sorry, the applications connected to the Lake. So that’s where comes in Tableau. These are some of the dashboards, which we wanted to show what we have implemented so far. And the connectivity initially when we started Databricks, when there was no inbuilt connector available, the need to connect as available. we kinda utilized the ODBC simmer drivers to fetch data from the Lake into the Tableau. But now because the Databricks has its own way to connect us. This has become even easier for us and the performance for extraction of data into the Tableau servers has become faster. When I’m talking about a faster performance, that is one more milestone which we achieved was the Hyper API. The concept of Hyper API which helps us to extract data faster in the Notebook in the database, and then publish that to the server so the reporting end will not take that strain. So that was one of our bigger Milestone which we have achieved, and that helped us to even refresh data in a faster rate on the reporting end. This is another example of the OBIEE and SAS, which we pointed to the Lake from the data which was loaded through Databricks Scala code, OBIEE and SAS before it was pointed to Oracle Targets.

移民服务

我们注意到的是,一些查询的仪表板,OBIEE中创建,执行说15分钟运行时,有时这些仪表板就不会被返回的结果,因为在Oracle数据库的负载。陈,有时查询用于很长时间,没来但是,指着砖当我们跑相同的查询,该查询或返回15秒,15到20秒,也许。我们注意到性能是激烈和失败的数量或查询总回来了,这是一致的。这是一件事我们有优势在指出我们的数据到湖边特别是在现有的仪表板,指着一个数据库,一个湖,下面的数据是通过一个三角洲湖写的。

下,数据科学领域上我们做了什么?这对我们本身将是一个更大的讨论,但是让我短暂的:不管我们通过这次旅行。我们是怎么开始的?我们开始以一个特定的用例为美国入籍与移民服务局。我们想知道,我们想要数据或预测,

的概率是多少人不显示预约,他们为什么不显示预约,生物识别技术的任命或任何与USCIC任命他们。他们为什么不显示呢?预测是什么?如何获得呢?或预测是什么因素导致这个没有显示预约吗?这是一个简单的用例。我们如何前进呢?我们用R和Python的后端,和我们使用的一些内置库的数据,我们有数据,我们把70年,30%的规则。我们运行这些数据通过预测模型来预测一个人的位置或任命的交货时间已经安排。这些其他因素甚至是造成这种不显示或一个人领进一个约会。 So these are some of the prediction models, which we did in using the Databricks platform. And we did not stop there. We also took that model and ran it through our MLFlow with our runtime clusters, which we have the Databricks we kinda used that, and we ran end to end on an ML model to see how this can be predicted and how this can be run through a model to see what is the pattern we are seeing. As a next one also we took another level where we wanted to analyze

或者做一些分析情绪的任何调查数据的分析。这是一个我们这里显示的例子是一个文本和日志挖掘。文本挖掘我们只是想看到是什么情绪在一组特定的数据。这预言是使用R和砖。我们能够这样做在很短的时间内短短一两天给情绪分析结果。所以它是如此快速,因为所有的内置库在砖帮助我们得到的这些结果。同时我们也做了一些日志挖掘去看到的任何系统的性能是如何做或有多少用户登录。什么是用户登录的频率。所有这些事情从输入数据日志,我们存储在S3中,我们想做一些预测,所以我们做了一些日志挖掘以及我们的实验的一部分。我们的模型创建。 We also did the time series to predict how many number of applications were coming in the future years. Or what is the pattern that was so deep but also high and how many recipients are even applying for certain kinds of applications. These were also run through the time-series models. And what we did was we kinda ran through all the algorithms, like the RainForest Regression Models or Logistic Regression all these models and we predicted which will be the best, which has the better accuracy based off that we kinda predicted the same models, which we had done it in a previous library. We kind of managed to do that this year. And also there was one more thing on the Hedge Tool Integration. Hedge Tool is another AutoML.

AutoML可用与我们,帮助我们在砖无缝的集成。这只是另一个集群的现有集群和额外的图书馆,图书馆集群。这帮助我们利用对冲工具也作为这个实验的一部分。让我们回到安全与治理的一部分。

我们改变的心态从遗留数据湖的概念。我们想要保持同样的特权和acl数据集,

我们在那个湖,这样维护相同的角色和权限。这砖使用其内置的ACL和ACL的,我们能够做到这一点。同时保持凭证,

秘密凭证管理,我们有一个秘密经理来存储所有的凭证和参考他们的笔记本。这是在砖一些可用的特性,我们利用我们的系统的一部分。我们也创造了精确我的规则,这需要在S3 bucket层次,以及砖上的ACL规则有一个安全性和治理的数据集。砖管理API的使用。这是一个内置的砖的特点,我们可以创建任意数量的集群或工作和每天监控它们。我们还结合气流来管理和协调这监测经验。这是一件事,我们利用以及库。任何可以复制在你的笔记本使用现有可用的库列表。这是我们的机器学习和数据科学团队更容易做的任何程序,需要长时间的数量。应该采取更多的时间为团队代码而不是附加到一个图书馆。 So this was more easy for us to do that. And also integration in deployment. We integrated Git automatically we did the configuration of Git Databricks and that was an easy sync for us to enable for us to sync all our changes. And also it helped us in our continuous integration and deployment perspective. Apart from that, the last one is the MLFlow, MLFlow is a big milestone for us, and we are able to run these models using the MLFlow clusters. And the API has been helpful so far.

这就是我今天回你肖恩。——谢谢你Prabha填补我们在您这些年来所做的工作。这是一个大量的工作,我们有一个巨大的成就。我们谈论的是,在过去的两个幻灯片我对你们是我们的教训。这只是一种组合我们发现的东西。之一,这些东西绝对是建立一个培训计划。我们在美国入籍与移民服务局还没有完全掌握数据科学是什么,当我们把这种产品。所以我们都努力学习。我们通过了训练自己使用产品和工具。然后我们了,我想也许30人在不同的来自全国各地的办事处实际上经过培训和一些发达国家和他们能够把握概念很好,有些不一样。 So at that moment there we decided that we needed to work harder with our user base and build our own internal development plan for our users. Like with any place of business training within your own data sets is always very big. It helps the user base to realize the power of the product. We’re actually in the process right now of building a customized training plan alongside Databricks and training and support that will suit the needs of our mid-level to advance users. Especially as a lot of

商店已经开始掌握到砖和他们想移动代码的SAS成砖。所以建设一点定制培训,实际上是允许我们建立一个更强的与我们的用户。基于云的经验通过这个工具已经成为我们完全实现。我们认为立即进入云,像有人一直在出售任何会立即快速和轻松。直到我们把砖。我们可以真正掌握。我想我展示你的能力,扩大我们已经成为可伸缩,我们不仅扩大产品的数量我们送人,我们扩大我们自己的团队中知识库。当Probha第一次在第一波人使用产品我认为造成很多开车从我们的开发团队内其他成员想学习工具和学习产品。并通过我们带来一堆Informatica ETL开发人员OBIEE开发人员

学习如何使用这个工具。第一波的问题是学习如何使用产品并理解它。她训练的第二波,现在第二波是训练我们团队的浪潮。我们有很多人在我们开发商店内经验丰富的工具和知道如何使用产品。专业技能也很重要,而不仅仅是专业技能在砖或在云计算数据。它回到了训练计划。你越能实现数据和产品允许您怎么处理数据可以解锁一些非常强大的东西。当我们开始把我们的主题专家的数据,到产品,培训他们如何与产品至少精通。他们看到的价值和他们开始变得更好。进而开始在该工具本身成为主题专家。 Not necessarily coming to IT for support, but going to each other. What I like to call it, Tier Zero, ask your friend and they may know the answer and you may be able to help you along. And when you start getting that type of organic ground roots support within these tools, it just makes everything easier for everybody. And it all aligns your business to your IT. In the automation is unbelievable of what we’ve been able to accomplish there.

当我们讨论自动化,不仅工作自动化和自动化的数据以及如何为你工作。在亚马逊在美国入籍与移民服务局和节省成本,我们回头很多服务器在一夜之间。并在一个小时,我们已经能够在地方开发人员可以构建工作。每个人都是远程,尤其是现在,我们都很偏远的工作在不同的时间周期。我可以进去,把环境工作通过数据,关掉你的环境。能够让人做的,正如我们所看到的一些主要的成本节约。最终我们真正想要的

我们开车很多自动化在此工具中使用机器学习和实施我们的机器学习模型做单调乏味的工作,我们可以拯救人类的元素和调整的时间,工作负载在其他地方。

我们实现了砖,我们建立了一个成功的战略,我们的每一点成功的策略,在这里可以看到。首先,性能,与规模和杠杆的能力显然域和现货实例作为一个Oracle的家伙在过去,我们没有这种能力,我们立即看到好处。和可伸缩的读写性能,我们在S3是惊人的。支持各种各样的统计程序已经巨大的美国入籍与移民服务局,美国入籍与移民服务局的大部分用户SQL开发人员和SQL程序员。所以能够滑到工具与语言,至少我们有很多R和Python用户。但是他们能够学习多种语言之间的奇异的笔记本和移动工作语言。随着机构听到我们谈了很多关于Scala开发这些主要代码对ETL的偏好。我们开车在一些表明,语言的力量的好处我们的用户,现在这些用户实际上是看着越来越熟悉Scala和培训。

工作能力在很多语言实际上开放的多元化分析社区进入砖。很明显这些工具中的机器学习和深入学习的我们已经能够把移动数据的概念通过一个机械的过程,结果,我们就可以开始乏味的工作职能,做手工,职员级别或一个单一的人,把它通过过程和能力的获得直接的价值。你现在可以把这些资源更乏味的任务到其他领域的功能。

与我们现有的工具集成允许连接所有的工具,我们有非常非常大的。所以现在许多ui OBIEE,画面和情景应用程序,我们能够彼此集成产品。我们试着关注,让我们的用户社区做的是你的贾斯汀时间建立在你的仓库在砖方面,构建数据,你的超重。如果你使用SAS更舒适,或者你更舒适与这些画面,你超重砖内,构建自己的数据集,然后用SAS,使用场景来分析和工作数据。这将我们的演示。

每个人都非常感谢允许Probha和我与你们分享我们的旅程。

看更多的火花+人工智能会话

免费试着砖
«回来
关于肖恩本杰明

美国公民身份和移民

肖恩·本杰明已经近20年的经验在联邦部门信息技术经验。2006年加入美国公民与移民服务,他是一个创始成员的美国入籍与移民服务局的企业数据仓库项目,继续应用创新分析和数据的策略。肖恩现在作为美国入籍与移民服务局首席数据&商业智能信息技术。

关于Prabha Rajendran

美国公民身份和移民

Prabha Rajendran有18年的经验在数据集成体系结构中使用大数据解决方案,云计算、商业智能和数据科学。2014年加入美国公民与移民服务以来,她一直在帮助美国入籍与移民服务局和领先的现代化的新技术创新的分析平台。bob体育客户端下载Prabha现在作为技术领先美国入籍与移民服务局数据&商业智能信息技术。