我们很高兴向大家介绍 JMP 在 Soitec 数据环境中发挥的重要作用。我们公司拥有 600 多名用户,因此,如何提升用户体验并实现部署在 JMP 上的产品的工业化应用始终是一项挑战。
如今,JMP 可以针对许多数据源,但从 AWS 服务收集数据仍然可能过于复杂。
从 JMP 15 开始,得益于 Python 集成,我们得以进一步扩展 JMP 的功能。我们内部验证了一系列自定义库(包括 S3、Athena 和 RDS),这些库使我们能够针对最终用户所需的 AWS 服务进行开发。如今,JMP 18 内置了与 Python 的集成,架构管理变得更加轻松。
在本演示中,我们将更详细地解释 JMP 在我们的数据工程流程中扮演的角色,以及我们如何从 Python 与 JMP 18 的集成中获得更多益处。

大家好。今天我们非常荣幸能在这里向大家展示我们的海报。海报将介绍 JMP 与 AWS 服务的集成。我是 Yacine Belamiri,目前在 Soitec 担任数据工程师。
我是 Guillaume Bugnon,也是 Soitec 的数据工程师。今天我们将向大家介绍这款海报。JMP 支持多种数据源,并可直接导入 Excel、JSON 甚至 PDF 文件等原生格式的数据。JMP 还可以通过 ODBC 原生连接连接到许多数据库,但这有时还不够。为什么呢?因为如今,云计算以及 Azure、AWS 或 Google 等云服务在我们的行业乃至所有行业中都得到了越来越广泛的应用,并已成为公司数据架构的一部分。在某些情况下,JMP 用户需要访问现有的数据;而在另一些情况下,我们则需要开发一些 GSL 特定的连接器。
这张海报的目标是什么?首先要说明的是,从 JMP 15 开始,我们引入了 Python 集成,通过在用户电脑上同时部署 JMP 和 Python 来扩展 JMP 的功能。这带来了什么好处呢?它使我们能够创建 JMP 库,这些库本质上是一组 GSL 函数,专门用于 AWS 服务或其他 JMP 本身无法处理的场景。我们拥有 600 多名用户,因此我们需要管理这些部署,以便方便所有用户使用此连接,并确保我们的开发人员使用相同的代码。
从 JMP 18 开始,JMP 使 Python 集成的管理变得更加容易,并移除了我们以前使用的依赖项,从而可以更快、更容易地安装 JMP,只需使用 Python 安装 JMP 并原生使用它即可。
我们这样做是为了提升用户体验,简化他们访问数据的过程。我们可以预先准备数据,并在企业层面进行存储和验证。此外,目前在 Soitec,我们已经将 JMP 验证为我们数据工程流程中的一个重要步骤,因此,当我们需要出于统计目的公开数据时,我们会使用 JMP。
我们是如何做到的?这里简单画个图,说明一下我们的工作流程。首先,我们用 Python 创建了一些通用库。这些库可以连接到 AWS 等平台,包含一些 JMP 中没有的统计功能,或者添加一些我们觉得更吸引人、更有趣等等的图表。这是第一步。
接下来,我们会从 JSL 库中调用这些 Python 库。我们希望 JSL 开发人员之后使用这个 JSL 库。这部分代码已经过内部验证,也经过我们 IT 部门的验证,之后大家都可以使用相同的代码。最后,Soitec 认证后,我认为可以调用 GSL 库,并为用户提供一种非常简单的数据连接方式。
如果用简单的符号来更详细地描述,我们会得到这样的架构。我们有Yacine刚才提到的三个不同的模块。假设我是一名作业开发人员,我想连接存储在AWS服务器S3存储桶中的提取数据。首先,我需要调用库路径和Python库JSL,然后我只需要使用我的函数。可以看到,只需四行代码,我就可以轻松访问存储在AWS S3上的文件。但是,这样做在初期需要一些成本。我们还需要开发另外两个模块,红色模块和黑色模块。
首先,假设这个应用程序,我们称之为 Python 库,这里我们导入这个 Python 库。没错。这就像一些积木。我们有绿色、黑色和蓝色的积木。我们来演示一下。抱歉。我们打开 JMP。就在这里。非常简单。我们添加日志。我只需要导入我的 Python GSL 库。你可以看到,在这个 Python GSL 库中,我们有不同的函数,这里有两个。
然后我就可以直接说我想打开数据包文件。Parquet 是一种非原生文件格式,JMP 目前无法识别,但用 Python 可以打开数据包文件,所以没问题。我只需要指定要打开的数据包文件,比如 John 发现的那个包含子存储桶、文件名和地址区域的数据包文件,这样就可以了。我需要创建一个新的数据视图,这样更简单快捷,而且我能够获取到数据,然后就可以用 JMP 进行分析了。
另一种方法类似,但我们也使用同一个库来获取一些密钥。密钥可以是连接数据库的密码或凭据等。库中也提供了这个函数,可以很轻松地获取这个序列。我的密钥是 dev gem discovery at the respect,然后我可以打印密钥,我们可以看到密钥的值是什么。
另一个更实际的应用案例是,我们在 Soitec 就有一个这样的案例。我们的应用程序能够连接到 AWS RDS 数据库来获取聚合数据。该应用程序还能连接到 AWS S3 来获取以数据包格式存储的原始数据。
得益于 Python 和 GSL 库的发展,我们可以轻松连接到数据库和 S3 存储桶,然后使用 JMP 进行所有统计计算。这可以是 SPC 图表,也可以是 CPK 的能力指标等等。之后,我们会获得聚合数据和原始数据。完成这些步骤后,您就会知道我们能够进行一些数据挖掘和数据分析。
我们已经介绍了如何访问 S3 上的数据。结论是,如今将 Python 集成到 JMP 中以访问 AWS 带来了诸多好处。它增强了功能和效率。Python 库使与任何服务交互都更加便捷。在我们的示例中,我们展示了 AWS,但它也适用于任何其他非 JMP 原生支持的服务。我们使用了 S3、DynamoDB 和 Secret Manager 等 AWS 服务进行演示,因为这些服务正是 Soitec 目前使用的工具。
从 JMP 18 开始,我们与 Python 的集成降低了复杂性,节省了时间。以前我们需要自行部署 Python 库和安装 Python,而现在 Python 让我们能够完成所有工作,确保我们可以访问所有数据,并使最终用户能够专注于分析而非数据收集。Python 和 JMP 的结合为高效的数据决策创造了强大的协同效应。
在即将发布的 JMP 版本中,我们将引入 jmputils Python 库。这将为 JMP 和 Python 之间的交互提供一种全新的方式,我们非常期待了解如何使用它,以及它将如何为我们带来更佳的体验:在 Python 中运行所有程序,并将其准备好供 JMP 使用。说实话,我们非常期待这个新版本的发布。
谢谢。以上就是我们的全部内容。您可以观看我们公司的简要介绍,了解我们的业务范围和核心业务。
谢谢。
谢谢。