将 Hive 表迁移到红移
Posted
技术标签:
【中文标题】将 Hive 表迁移到红移【英文标题】:Migrate Hive tables to redshift 【发布时间】:2018-03-14 10:00:15 【问题描述】:让我解释一下场景: 我在 S3(ORC、Parquet)上存储了数百个配置单元表,所以要明确的是没有 HDFS。 现在,我有兴趣将其中一些迁移到 Redshift 以运行一些性能测试。 我知道 redshift 不支持 ORC、Parquet,所以我需要创建一些 CSV/JSON 才能使用 COPY 命令。 我正在考虑使用 Hive 本身创建临时 CSV 表,然后迁移到 Redshift。我也在考虑使用 Spark 来移动这些数据。 任何人都有这种情况的经验?
【问题讨论】:
【参考方案1】:您可以设置 Redshift Spectrum,使您的 S3 表看起来像 Redshift 表,然后您可以直接查询数据或将其引入内部 Redshift 表。https://docs.aws.amazon.com/redshift/latest/dg/c-spectrum-external-tables.html
完全支持 ORC 和 Parquet。https://docs.aws.amazon.com/redshift/latest/dg/c-spectrum-data-files.html
【讨论】:
【参考方案2】:有一种将数据迁移到 redshift 的简单方法。因此,首先您需要将该 parquet 或 orc 加载到 Spark(pyspark、java 或 scala)中,然后您可以使用 databricks 包直接将这些数据插入到 redshift 中。下面是 databricks 包的链接,其中包含一些示例。
https://github.com/databricks/spark-redshift
【讨论】:
我试过这个选项,redshift databricks 包效果很好以上是关于将 Hive 表迁移到红移的主要内容,如果未能解决你的问题,请参考以下文章