从 String 到 Varchar 的红移谱类型转换

问题描述 投票:0回答:1

当我使用 Glue 爬虫扫描 S3 中的数据时,我得到以下架构:

{id: integer, value: String}

这是因为 Spark 以

String
类型而不是
varchar
类型写回数据。虽然spark中有一个VarcharType。 (请参阅:VarcharType — PySpark 主文档

问题是我需要 Redshift 中的数据作为

VarcharType
中的 Spectrum 查询,因为我的 BI 工具无法读取
string
类型数据。

如果我使用

Create External Table
我会得到表中的所有空值。仅当我将其更改为内部表时,问题才能解决。但是,我确实需要它作为频谱查询。有什么建议将字符串类型转换为
varchartype
吗?

pyspark amazon-redshift aws-glue parquet amazon-redshift-spectrum
1个回答
0
投票

索尔步骤:

  1. 基于带有分区的 Redshift 中的 AWS 数据目录创建外部架构。
  2. 然后在数据库中创建外部表。这也将在粘合数据目录中创建表。
  3. 现在创建一个链接到该表的爬网程序。在“设置输出和调度”中进行设置:
  • 选择忽略更改并且不更新数据目录中的表
  • 选择忽略更改并且不更新数据目录中的表
  • 取消选择自动创建分区索引
  1. 现在运行爬虫。

现在您的频谱外部表中将包含带有分区列的数据。 如果 S3 中添加新分区,您需要定期运行爬虫

© www.soinside.com 2019 - 2024. All rights reserved.