大数据工具

在开始使用大数据工具之前,您需要安装所需的插件并配置与服务器的连接。

安装所需的插件

  1. 无论您在 PyCharm 中做什么,都可以在项目中进行。因此,打开一个现有项目(File | Open)或创建一个新项目(File | New | Project)。

  2. Ctrl+Alt+S打开 IDE 设置并选择插件 | 市场

  3. 安装大数据工具插件。

  4. 重新启动 IDE。重新启动后,Big Data Tools选项卡出现在工具窗口的最右侧组中。单击它以打开“大数据工具”窗口。

在 IDE 中启用大数据工具支持后,您可以配置与 Zeppelin、Spark、Google 存储和 S3 服务器的连接。您可以使用配置文件和 URI连接到 HDFS、WebHDFS、AWS S3 和本地驱动器。

配置服务器连接

  1. Big Data Tools窗口中,单击添加连接并选择服务器类型。大数据工具连接对话框打开。

  2. Big Data Tools Connection对话框中,根据服务器类型指定以下参数:

    • 文件系统:FS | 本地, FS | 高密度文件系统

    • 存储:AWS S3MinioLinodeDigital Open SpacesGSAzureYandex Object Storage

    • 监控:SparkHadoopKafka

    • 笔记本:齐柏林飞艇

    本地金融服务

    强制参数:

    • 根路径:根目录的路径。

    • Name:连接的名称,以区分其他连接。

    或者,您可以设置:

    • 每个项目:选择以仅为当前项目启用这些连接设置。如果您希望此连接在其他项目中可见,请取消选择它。

    • 启用连接:如果要限制使用此连接,请取消选择。默认情况下,启用新创建的连接。

    HDFS 连接

    强制参数:

    • 根路径:目标服务器上根目录的路径。

      成功建立连接后,Driver home path字段会显示连接的目标 IP 地址,包括端口号。示例:hdfs://127.0.0.1:65224/

    • 配置路径HDFS 配置文件目录的路径。请参阅配置文件的示例

    • Name:连接的名称,以区分其他连接。

    或者,您可以设置:

    • 每个项目:选择以仅为当前项目启用这些连接设置。如果您希望此连接在其他项目中可见,请取消选择它。

    • 启用连接:如果要限制使用此连接,请取消选择。默认情况下,启用新创建的连接。

    • 启用隧道(仅限 NameNode 操作)。创建到远程主机的 SSH 隧道。如果目标服务器位于专用网络中但与网络中主机的 SSH 连接可用,则它可能很有用。SSH 隧道目前仅适用于具有以下名称节点的操作员:列出文件、获取元信息

      选中复选框并指定 SSH 连接的配置(单击...创建新的 SSH 配置)。

    请注意,大数据工具插件使用HADOOP_USER_NAMEenv 变量登录服务器。如果未定义此变量,则user.name使用该属性。

    查看Hadoop 文件系统配置文件的更多示例。

    配置 S3 连接

    强制参数:

    • Name:连接的名称,以区分其他连接。

    或者,您可以设置:

    • 桶过滤器过滤器类型有助于定义一组特定的桶来预览和使用。您可以设置包含、匹配、以模式开头或使用正则表达式的过滤器。

    • Region:指定存储桶的 AWS 区域。您可以从列表中选择一个或让 PyC​​harm 自动检测它。

    • 身份验证类型:身份验证方法。您可以使用您的帐户凭据(默认情况下),或选择输入访问密钥和密钥。您还可以使用位于默认 AWS 配置位置的命名配置文件(Linux 或 macOS 上的~/.aws/credentials或 Windows 上的C:\Users\<USERNAME>\.aws\credentials)。如果需要,您可以从自定义凭据文件中指定任何配置文件。

    • 每个项目:选择以仅为当前项目启用这些连接设置。如果您希望此连接在其他项目中可见,请取消选择它。

    • 启用连接:如果要限制使用此连接,请取消选择。默认情况下,启用新创建的连接。

    • 使用自定义端点:选择是否要指定自定义端点和签名区域。

    • HTTP 代理:选择是要使用IDE 代理设置还是要指定自定义代理设置。

    • 启用隧道。创建到远程主机的 SSH 隧道。如果目标服务器位于专用网络中但与网络中主机的 SSH 连接可用,则它可能很有用。

    配置 Minio 连接

    强制参数:

    • Endpoint:指定要连接的端点。

    • Name:连接的名称,以区分其他连接。

    或者,您可以设置:

    • 桶过滤器过滤器类型有助于定义一组特定的桶来预览和使用。您可以设置包含、匹配、以模式开头或使用正则表达式的过滤器。

    • 访问凭证:Access KeySecret Key

    • HTTP 代理:选择是要使用IDE 代理设置还是要指定自定义代理设置。

    • 每个项目:选择以仅为当前项目启用这些连接设置。如果您希望此连接在其他项目中可见,请取消选择它。

    • 启用连接:如果要限制使用此连接,请取消选择。默认情况下,启用新创建的连接。

    配置 Linode 连接

    强制参数:

    • Name:连接的名称,以区分其他连接。

    或者,您可以设置:

    • Region:指定存储桶的区域。您可以从列表中选择一个或让 PyC​​harm 自动检测它。

    • 桶过滤器过滤器类型有助于定义一组特定的桶来预览和使用。您可以设置包含、匹配、以模式开头或使用正则表达式的过滤器。

    • 访问凭证:Access KeySecret Key

    • HTTP 代理:选择是要使用IDE 代理设置还是要指定自定义代理设置。

    • 每个项目:选择以仅为当前项目启用这些连接设置。如果您希望此连接在其他项目中可见,请取消选择它。

    • 启用连接:如果要限制使用此连接,请取消选择。默认情况下,启用新创建的连接。

    配置数字开放空间连接

    强制参数:

    • Name:连接的名称,以区分其他连接。

    或者,您可以设置:

    • Region:指定存储桶的 Digital Ocean 区域。您可以从列表中选择一个或让 PyC​​harm 自动检测它。

    • 桶过滤器过滤器类型有助于定义一组特定的桶来预览和使用。您可以设置包含、匹配、以模式开头或使用正则表达式的过滤器。

    • 访问凭证:Access KeySecret Key

    • HTTP 代理:选择是要使用IDE 代理设置还是要指定自定义代理设置。

    • 每个项目:选择以仅为当前项目启用这些连接设置。如果您希望此连接在其他项目中可见,请取消选择它。

    • 启用连接:如果要限制使用此连接,请取消选择。默认情况下,启用新创建的连接。

    Google 存储的连接设置

    强制参数:

    • Bucket :用于在Google Storage中存储数据的基本容器的名称。

    • Google 应用凭据:Cloud Storage JSON 文件的路径。

    • Name:连接的名称,以区分其他连接。

    或者,您可以设置:

    • 基目录(默认为root):存储基目录。

    • 代理:选择是要使用IDE 代理设置还是要指定自定义代理设置。

    Azure 存储的连接设置

    强制参数:

    • Endpoint:指定要连接的端点。

    • 容器:在Microsoft Azure中存储数据的基本容器的名称。

    • Name:连接的名称,以区分其他连接。

    或者,您可以设置:

    • 根路径:指定存储桶中根目录的路径。

    • 身份验证类型:身份验证方法。您可以通过用户名和密钥、连接字符串或使用SAS 令牌访问存储。

    • 每个项目:选择以仅为当前项目启用这些连接设置。如果您希望此连接在其他项目中可见,请取消选择它。

    • 启用连接:如果要限制使用此连接,请取消选择。默认情况下,启用新创建的连接。

    Yandex 对象存储的连接设置

    强制参数:

    • Name:连接的名称,以区分其他连接。

    或者,您可以设置:

    • 桶过滤器过滤器类型有助于定义一组特定的桶来预览和使用。您可以设置包含、匹配、以模式开头或使用正则表达式的过滤器。

    • 身份验证类型:身份验证方法。您可以使用您的帐户凭据(默认情况下),或选择输入访问密钥和密钥。您还可以使用位于默认 Yandex 对象存储配置位置的命名配置文件。如果需要,您可以从自定义凭据文件中指定任何配置文件。

    • HTTP 代理:选择是要使用IDE 代理设置还是要指定自定义代理设置。

    • 每个项目:选择以仅为当前项目启用这些连接设置。如果您希望此连接在其他项目中可见,请取消选择它。

    • 启用连接:如果要限制使用此连接,请取消选择。默认情况下,启用新创建的连接。

    配置 Spark 连接

    强制参数:

    • URL:目标服务器的路径。

    • Name:连接的名称,以区分其他连接。

    或者,您可以设置:

    • 启用隧道。创建到远程主机的 SSH 隧道。如果目标服务器位于专用网络中但与网络中主机的 SSH 连接可用,则它可能很有用。

      选中复选框并指定 SSH 连接的配置(单击...创建新的 SSH 配置)。

    • 每个项目:选择以仅为当前项目启用这些连接设置。如果您希望此连接在其他项目中可见,请取消选择它。

    • 启用连接:如果要限制使用此连接,请取消选择。默认情况下,启用新创建的连接。

    • 启用 HTTP 基本身份验证:使用指定的用户名和密码进行 HTTP 身份验证连接。

    • 启用 HTTP 代理:使用指定的主机、端口、用户名和密码与 HTTP 代理连接。

    • HTTP Proxy : 与 HTTP 或 SOCKS Proxy 身份验证的连接。选择是要使用IDEA HTTP 代理设置还是使用具有指定主机名、端口、登录名和密码的自定义设置。

    • Kerberos 身份验证设置:打开 Kerberos 身份验证设置。

      Kerberos 设置

      指定以下选项:

      • 启用 Kerberos 身份验证:选择以使用Kerberos 身份验证协议

      • Krb5 配置文件:包含Kerberos 配置信息的文件。

      • JAAS 登录配置文件:由一个或多个条目组成的文件,每个条目指定应将哪种底层身份验证技术用于特定应用程序或应用程序。

      • 仅使用主题凭据:允许该机制从某些供应商特定位置获取凭据。选中此复选框并提供用户名和密码。

      • 要将其他登录信息包含到 PyCharm 日志中,请选择Kerberos 调试日志记录JGSS 调试日志记录

        请注意,Kerberos 设置对所有 Spark 连接都有效。

    配置 Hadoop 连接

    强制参数:

    • URL:目标服务器的路径。

    • Name:连接的名称,以区分其他连接。

    或者,您可以设置:

    • 启用隧道。创建到远程主机的 SSH 隧道。如果目标服务器位于专用网络中但与网络中主机的 SSH 连接可用,则它可能很有用。

      选中复选框并指定 SSH 连接的配置(单击...创建新的 SSH 配置)。

    • 每个项目:选择以仅为当前项目启用这些连接设置。如果您希望此连接在其他项目中可见,请取消选择它。

    • 启用连接:如果要限制使用此连接,请取消选择。默认情况下,启用新创建的连接。

    • 启用 HTTP 基本身份验证:使用指定的用户名和密码进行 HTTP 身份验证连接。

    • 启用 HTTP 代理:使用指定的主机、端口、用户名和密码与 HTTP 代理连接。

    • HTTP Proxy : 与 HTTP 或 SOCKS Proxy 身份验证的连接。选择是要使用IDEA HTTP 代理设置还是使用具有指定主机名、端口、登录名和密码的自定义设置。

    • Kerberos 身份验证设置:打开 Kerberos 身份验证设置。

      Kerberos 设置

      指定以下选项:

      • 启用 Kerberos 身份验证:选择以使用Kerberos 身份验证协议

      • Krb5 配置文件:包含Kerberos 配置信息的文件。

      • JAAS 登录配置文件:由一个或多个条目组成的文件,每个条目指定应将哪种底层身份验证技术用于特定应用程序或应用程序。

      • 仅使用主题凭据:允许该机制从某些供应商特定位置获取凭据。选中此复选框并提供用户名和密码。

      • 要将其他登录信息包含到 PyCharm 日志中,请选择Kerberos 调试日志记录JGSS 调试日志记录

        请注意,Kerberos 设置对所有 Spark 连接都有效。

    • 您还可以重用任何现有的 Spark 连接。只需从Spark 监控列表中选择它。

    配置Kafka连接

    强制参数:

    • URL:目标服务器的路径。

    • Name:连接的名称,以区分其他连接。

    或者,您可以设置:

    • 属性:可配置的连接参数列表。有关更多详细信息,请参阅 Kafka参考文档。您可以指定具有属性的文件,或者将从 Kafka 文档中检索属性。您开始输入属性名称并按下Ctrl+Space以获取目标属性。

    • 启用隧道。创建到远程主机的 SSH 隧道。如果目标服务器位于专用网络中但与网络中主机的 SSH 连接可用,则它可能很有用。

      选中复选框并指定 SSH 连接的配置(单击...创建新的 SSH 配置)。

    • 每个项目:选择以仅为当前项目启用这些连接设置。如果您希望此连接在其他项目中可见,请取消选择它。

    • 启用连接:如果要限制使用此连接,请取消选择。默认情况下,启用新创建的连接。

    • 单击Kafka 支持受限消息旁边的问号以预览当前支持的功能列表。

    连接设置

    强制参数:

    • URL:目标服务器的路径。

    • 登录名密码:您访问目标服务器的凭据。

    • Name:连接的名称,以区分其他连接。

    或者,您可以设置:

    • 匿名登录:选择不使用您的凭据登录。

    • 每个项目:选择以仅为当前项目启用这些连接设置。如果您希望此连接在其他项目中可见,请取消选择它。

    • 启用连接:如果要限制使用此连接,请取消选择。默认情况下,启用新创建的连接。

    • 库版本Scala 版本Spark 版本Hadoop 版本:这些值来自插件包。如果需要,请指定任何替代版本值。

    • 启用 HTTP 基本身份验证:使用指定的用户名和密码进行 HTTP 身份验证连接。

    • Proxy : 与 HTTP 或 SOCKS Proxy 认证的连接。选择是要使用IDEA HTTP 代理设置还是使用具有指定主机名、端口、登录名和密码的自定义设置。

    • 启用隧道。创建到远程主机的 SSH 隧道。如果目标服务器位于专用网络中但与网络中主机的 SSH 连接可用,则它可能很有用。

      选中复选框并指定 SSH 连接的配置(单击...创建新的 SSH 配置)。

    • 通知。如果您希望在执行时间超过指定时间间隔(默认为 60 秒)时收到通知,请选择启用单元执行通知。

  3. 填写设置后,单击测试连接以确保所有配置参数正确。然后单击确定

如果您暂时不需要任何连接,您可以禁用它。右键单击BigDataTools窗口中的相应项,然后从上下文菜单中选择禁用连接。服务器改变了它的视觉外观和行为:你不能预览它的内容。要恢复连接,请右键单击它并从上下文菜单中选择启用连接。

为方便起见,您可以重命名服务器根目录并复制它的路径。要快速访问所有必需的操作,请在BigDataTools窗口中右键单击目标服务器,然后从上下文菜单中选择相应的命令。

现在您已经建立了与服务器的连接,您可以开始使用您的笔记本了。但是,最好确保在特定服务器上执行所需的所有库和包都已安装且可用。

配置笔记本依赖项

  1. 从主菜单中,选择文件 | 项目结构

  2. Project Structure对话框中,选择Project Settings列表中的Modules。然后在模块列表中选择任何已配置的连接并双击System Dependencies

  3. 检查添加的库列表。单击列表并开始输入以搜索特定库。

    配置依赖项
  4. 如果需要,修改库列表

    • 单击添加按钮以添加新库。

    • 单击指定文档 URL 按钮并指定外部文档的 URL。

    • 单击执行按钮以选择您希望 PyCharm 忽略的项目(文件夹、档案和档案中的文件夹),然后单击OK

    • 单击删除按钮可从库中移除选中的普通库或恢复选中的排除项。项目本身将留在图书馆。

管理 Zeppelin 口译员

您可以在 Zeppelin 服务器上配置解释器。添加解释器后,它可用于此服务器上的所有笔记。

配置 Zeppelin 解释器

  1. 使用以下方式之一打开解释器设置:

    • 单击解释器设置笔记本工具栏上的 。

    • 在BigDataTools工具窗口中右键单击 Zeppelin 服务器,然后从上下文菜单中选择Open Interpreter Settings 。

  2. 在解释器设置窗口中预览可用解释器的列表。

    口译员设置

    请注意,解释器列表与 Zeppelin 0.8 及更早版本的解释器绑定对话框中打开的列表相同。对于 Zeppelin 0.9,解释器绑定仅显示正在使用的解释器。要过滤出解释器列表,请在搜索字段中输入目标名称。

    您可以使用解释器工具栏的以下操作:

    物品

    描述

    刷新

    更新解释器列表。

    添加解释器

    打开一个对话框来添加一个新的解释器。您可以将新的解释器添加到现有的解释器组中并配置其设置

    删除选定的解释器

    删除选定的解释器。

    重启解释器

    重新启动选定的解释器。

    管理存储库

    打开一个对话框以添加、删除和修改解释器存储库

  3. 预览目标解释器的设置。

    • 当解释器解决了所有依赖关系并准备好使用时,它的状态显示为Ready

    • 如果所选解释器是解释器组的根,您应该会看到该组中包含的解释器。例如,该spark组由%spark, %spark.sql, %spark.pyspark, %spark.ipyspark, %spark.r, %spark.ir, %spark.shiny,组成%spark.kotlin

    • 选择SHAREDSCOPEDISOLATED解释器绑定模式。在共享模式下,使用此解释器的每个音符都共享一个解释器实例。范围和隔离模式可以在每个用户每个注释维度下使用。在按注释作用域模式下,每个注释将在同一个解释器进程中创建一个新的解释器实例。在每个笔记隔离模式下,每个笔记都将创建一个新的解释器进程。

    • 如果您想限制对选定解释器的访问,请选中设置权限复选框并指定所有者名称

    • 选中连接到现有进程复选框以提供目标服务器上的主机端口。

    • 您可以添加解释器属性或修改预定义的一组属性及其值。如果属性名称由大写字符、数字或下划线 ([A-Z_0-9]) 组成,则属性将导出为系统上的环境变量。否则,该属性被设置为公共解释器属性。在Apache Zeppelin文档中查看更多详细信息。

      例如,您可以添加zeppelin.SparkInterpreter.precode属性并将一些代码放入Value字段以在解释器初始化时执行。

      添加 zeppelin.SparkInterpreter.precode 属性

      此代码在解释器初始化后在注释中解析:

      解析注释中的 zeppelin.SparkInterpreter.precode 属性
    • Dependencies区域中添加要与所选解释器一起使用的任何库。如果需要,请指定应排除的文件。

单击刷新以更新口译员列表。要重新启动选定的解释器,请单击重启解释器

管理存储库

  1. 要打开存储库设置,请单击新口译员解释器工具栏

    管理存储库

    您可以刷新存储库列表 ( 刷新)、添加新存储库 ( 新存储库) 并删除选定的存储库 ( 删除选定的存储库)。

  2. 要添加新存储库,请单击新存储库并填写存储库设置:

    强制参数:

    • Id:存储库的唯一名称

    • Url : 仓库地址

    或者,您可以设置:

    • 名称:访问存储库的用户名

    • 密码:访问存储库的密码

    • 主机:存储库所在的 HTTP 或 HTTPS 服务器

    • 端口:存储库服务器的端口

    • 名称密码:访问存储库服务器的用户凭据

Hadoop 文件系统配置文件示例

类型

示例配置

高密度文件系统

<?xml version="1.0"?> <configuration> <property> <name>fs.hdfs.impl</name> <value>org.apache.hadoop.hdfs.DistributedFileSystem</value> </property> <property > <name>fs.defaultFS</name> <value>hdfs://example.com:9000/</value> </property> </configuration>

S3

<?xml version="1.0"?> <configuration> <property> <name>fs.s3a.impl</name> <value>org.apache.hadoop.fs.s3a.S3AFileSystem</value> </property> <property> <name>fs.s3a.access.key</name> <value>sample_access_key</value> </property> <property> <name>fs.s3a.secret.key</name> <value>sample_secret_key </value> </property> <property><name>fs.defaultFS</name> <value>s3a://example.com/</value> </property> </configuration>

网络HDFS

<?xml version="1.0"?> <configuration> <property> <name>fs.webhdfs.impl</name> <value>org.apache.hadoop.hdfs.web.WebHdfsFileSystem</value> </property> <property> <name>fs.defaultFS</name> <value>webhdfs://master.example.com:50070/</value> </property> </configuration>

WebHDFS 和 Kerberos

<?xml version="1.0"?> <configuration> <property> <name>fs.webhdfs.impl</name> <value>org.apache.hadoop.hdfs.web.WebHdfsFileSystem</value> </property> <property> <name>fs.defaultFS</name> <value>webhdfs://master.example.com:50070</value> </property> <property> ​ <name>hadoop.security.authentication</name > <value>Kerberos</value> </property> <属性> <name>dfs.web.authentication.kerberos.principal</name> <value>testuser@EXAMPLE.COM</value> </property> <property>​ <name>hadoop.security.authorization</name>​ <value>true</value>​ </property> </configuration>​ <value>true</value>​ </property> </configuration>​ <value>true</value>​ </property> </configuration>
最后修改:2021 年 12 月 22 日