使用 boto3 和 PySpark 的 AWS SageMaker 笔记本列表表
AWS SageMaker notebook list tables using boto3 and PySpark
在 AWS SageMaker 中执行以下代码时遇到一些困难。它应该只列出 DynamoDB 中的所有 table。
import boto3
resource = boto3.resource('dynamodb', region_name='xxxx')
response = resource.tables.all()
for r in response:
print(r.name)
如果 SageMaker notebook 内核设置为 "conda_python3",则代码执行良好并且 table 会按预期在笔记本中列出(这几乎是立即发生的)。
但是,如果我将内核设置为 "Sparkmagic (PySpark)" 相同的代码无限 运行s 并且根本不输出 table 列表。
有谁知道为什么 PySpark 内核会发生这种情况而不是 conda3 内核?理想情况下,我需要 运行 将此代码作为依赖于 PySpark 的更大脚本的一部分,因此希望它与 PySpark 一起工作。
找出问题所在,您需要结束端点以浏览 DyanmoDB 的 VPC。
要执行此操作,请导航至:
- AWS VPC
- 端点
- 创建端点
- Select dynamodb 服务(类型为网关)
- Select 您的笔记本正在使用的 VPC
在 AWS SageMaker 中执行以下代码时遇到一些困难。它应该只列出 DynamoDB 中的所有 table。
import boto3
resource = boto3.resource('dynamodb', region_name='xxxx')
response = resource.tables.all()
for r in response:
print(r.name)
如果 SageMaker notebook 内核设置为 "conda_python3",则代码执行良好并且 table 会按预期在笔记本中列出(这几乎是立即发生的)。
但是,如果我将内核设置为 "Sparkmagic (PySpark)" 相同的代码无限 运行s 并且根本不输出 table 列表。
有谁知道为什么 PySpark 内核会发生这种情况而不是 conda3 内核?理想情况下,我需要 运行 将此代码作为依赖于 PySpark 的更大脚本的一部分,因此希望它与 PySpark 一起工作。
找出问题所在,您需要结束端点以浏览 DyanmoDB 的 VPC。
要执行此操作,请导航至:
- AWS VPC
- 端点
- 创建端点
- Select dynamodb 服务(类型为网关)
- Select 您的笔记本正在使用的 VPC