本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
教程:设置具有开发终端节点的 PyCharm 专业人士
本教程向您展示如何将本地计算机上运行的
PyCharm 专业
要以交互方式连接到开发终端节点,必须安装 PyCharm 专业版。您不能使用免费版进行这项操作。
注意
本教程使用 Amazon S3 作为数据源。如果要改用 JDBC 数据源,则必须在 Virtual Private Cloud (VPC) 中运行开发终端节点。要使用 SSH 连接到 VPC 中的开发终端节点,则必须创建 SSH 隧道。本教程不包含有关创建 SSH 隧道的说明。有关使用 SSH 连接到 VPC 中的开发终端节点的信息,请参阅 AWS 安全博客中的
Securely Connect to Linux Instances Running in a Private Amazon VPC
将 PyCharm 专业人员连接到开发端点
在名字中创建一个新的纯 Python 项目。 PyCharm
legislators
在项目中创建一个名为
get_person_schema.py
的文件,该文件包含以下内容:
from pyspark.context import SparkContext from awsglue.context import GlueContext def main(): # Create a Glue context glueContext = GlueContext(SparkContext.getOrCreate()) # Create a DynamicFrame using the 'persons_json' table persons_DyF = glueContext.create_dynamic_frame.from_catalog(database="legislators", table_name="persons_json") # Print out information about this data print("Count: ", persons_DyF.count()) persons_DyF.printSchema() if __name__ == "__main__": main()
请执行下列操作之一:
对于 AWS Glue 版本 0.9,将 AWS Glue Python 库文件
PyGlue.zip
从https://s3.amazonaws.com/aws-glue-jes-prod-us-east-1-assets/etl/python/PyGlue.zip
下载到您的本地计算机上的方便位置。对于 AWS Glue 版本 1.0 及更高版本,将 AWS Glue Python 库文件
PyGlue.zip
从https://s3.amazonaws.com/aws-glue-jes-prod-us-east-1-assets/etl-1.0/python/PyGlue.zip
下载到您的本地计算机上的方便位置。在以下位置添加
PyGlue.zip
为项目的内容根目录 PyCharm:在中 PyCharm,选择 “文件”、“设置” 以打开 “设置” 对话框。(也可以按
Ctrl+Alt+S
。)展开
legislators
项目,然后选择 Project Structure (项目结构)。然后,在右侧窗格中,选择 + Add Content Root (+ 添加内容根)。导航到您保存
PyGlue.zip
的位置,选择该位置,然后选择 Apply (应用)。Settings (设置) 屏幕上显示的内容应类似于:
在 Settings (设置) 对话框中,展开 Build, Execution, Deployment (构建、执行、部署) 部分。选择 Deployment (部署) 子部分。
选择中间窗格顶部的 + 图标,添加新服务器。将其 Type (类型) 设置为
SFTP
并为其命名。将 SFTP host (SFTP 主机) 设置为开发终端节点的 Public address (公有地址),如其详细信息页面上所示。(在 AWS Glue 控制台中选择开发终端节点的名称可显示详细信息页面)。对于正在 VPC 中运行的开发终端节点,请将 SFTP host (SFTP 主机) 设置为主机地址,并将 SSH 隧道的本地端口设置为开发终端节点。
将 User name (用户名) 设置为
glue
。将 Auth type (验证类型) 设置为 Key pair (OpenSSH or Putty) (密钥对 (OpenSSH 或 Putty))。通过浏览到您的开发终端节点私有密钥文件所在的位置,设置 Private key file (私有密钥文件)。请注意,它 PyCharm 仅支持 DSA、RSA 和 ECDSA OpenSSH 密钥类型,不接受 Putty 私有格式的密钥。您可以使用的 up-to-date 版本生成 PyCharm 接受的
ssh-keygen
密钥对类型,其语法如下所示:ssh-keygen -t rsa -f
<key_file_name>
-C "<your_email_address>
"选择 Test connection (测试连接),并允许测试连接。如果连接成功,选择 Apply (应用)。
现在,Settings (设置) 屏幕上显示的内容应类似于:
在右侧窗格中,选择 Deployment (部署) 页面,选择顶部的中间选项卡,即标签为 Mappings (映射) 的选项卡。
在 Deployment Path (部署路径) 列中,输入
/home/glue/scripts/
下的路径,以部署您的项目路径。例如:/home/glue/scripts/legislators
。选择 Apply(应用)。
现在,Settings (设置) 屏幕上显示的内容应类似于:
在菜单栏上,选择 Tools (工具)、Deployment (部署)、Automatic Upload (always) (自动上传(始终))。确保 Automatic Upload (always) (自动上传(始终)) 旁边显示了复选标记。
启用此选项后, PyCharm 会自动将更改后的文件上传到开发端点。
配置远程解释器
配置 PyCharm 为在开发端点上使用 Python 解释器。
从 File (文件) 菜单中,选择 Settings (设置)。
展开项目 legislators,然后选择 Project Interpreter (项目解释器)。
选择 Project Interpreter (项目解释器) 列表旁边的齿轮图标,然后选择 Add (添加)。
在 Add Python Interpreter (添加 Python 解释器) 对话框的左侧窗格中,选择 SSH Interpreter (SSH 解释器)。
选择 Existing server configuration (现有服务器配置),然后在 Deployment configuration (部署配置) 列表中,选择您的配置。
您的屏幕上显示的内容应类似于以下图像。
选择 Move this server to IDE settings (将此服务器移至 IDE 设置),然后选择 Next (下一步)。
在 Interpreter (解释器) 字段中,将路径更改为
/usr/bin/gluepython
(如果您使用的是 Python 2)或/usr/bin/gluepython3
(如果您使用的是 Python 3)。然后选择 Finish (完成)。在开发终端节点上运行您的脚本
要运行脚本,请执行以下操作:
在左侧窗格中,右键单击文件名,然后选择 Run '
<filename>
' (运行“<filename>”)。在一系列消息之后,最终输出应显示计数和架构。
Count: 1961 |-- family_name: string |-- name: string |-- links: array | |-- element: struct | | |-- note: string | | |-- url: string |-- gender: string |-- image: string |-- identifiers: array | |-- element: struct | | |-- scheme: string | | |-- identifier: string |-- other_names: array | |-- element: struct | | |-- lang: string | | |-- note: string | | |-- name: string |-- sort_name: string |-- images: array | |-- element: struct | | |-- url: string |-- given_name: string |-- birth_date: string |-- id: string |-- contact_details: array | |-- element: struct | | |-- type: string | | |-- value: string |-- death_date: string