Amazon S3 Tables Now Support Managed Migration From Apache Hive to Apache Iceberg
Amazon S3 Tables Adds Managed Migration for Apache Hive to Apache Iceberg
Amazon S3 Tables launched a managed migration capability for upgrading Apache Hive tables to Apache Iceberg data lakes, allowing enterprise infrastructure teams to skip custom pipeline construction and compute provisioning while live workloads continue executing.
The Tech TL;DR:
- Amazon S3 Tables now support automated, API-driven migrations from Apache Hive to Apache Iceberg for Parquet-formatted datasets registered in the AWS Glue Data Catalog.
- The migration engine handles data validation, compatibility reporting, type conversions, file recompression, and compaction directly, requiring source tables to pause writes only briefly during final cutover.
- Billing applies strictly to copied data volume with zero conversion fees, and source objects residing in S3 Intelligent-Tiering retain their existing storage access tiers.
API-Driven Workflows Replace Weeks of Manual Engineering
Historically, transitioning legacy big data estates from Hive to open table formats demanded weeks of dedicated engineering bandwidth to construct custom orchestration layers, manage type conversions, and code reliable rollback safety nets. Before moving bytes, the service evaluates every source object within scope and compiles a comprehensive compatibility report. Production applications maintain uninterrupted write access throughout repeated synchronization cycles, minimizing downtime to a narrow window during the final cutover phase.

Comparing execution strategies highlights the operational shift. While self-managed deployments force teams to provision underlying compute instances and manually monitor compaction jobs, the S3 Tables API automates file recompression and binpack compaction strategies natively. Engineers interact with the system via standard AWS Command Line Interface routines, software development kits, or specialized coding agent integrations.
cat > /tmp/start-migration.json <<'EOF'
{
"roleARN": "arn:aws:iam::123456789012:role/S3TablesMigrationRole",
"destinationTable": {
"tableBucketARN": "arn:aws:s3tables:us-east-1:123456789012:bucket/my-destination-bucket",
"namespace": "mynamespace",
"name": "my_destination_table",
"encryptionConfiguration": {
"sseAlgorithm": "aws:kms",
"kmsKeyArn": "arn:aws:kms:us-east-1:123456789012:key/1234abcd-12ab-34cd-56ef-123456789012"
},
"storageClassConfiguration": { "storageClass": "INTELLIGENT_TIERING" },
"tags": { "team": "s3tables", "purpose": "migration" },
"properties": {
"writeFormat": "parquet",
"icebergFormatVersion": 2,
"compressionCodec": "zstd",
"dictionaryEncoding": true
},
"schema": {
"type": "struct",
"schemaId": 0,
"identifierFieldIds": [1],
"fields": [
{ "id": 1, "name": "id", "type": "long", "required": true, "doc": "primary key" },
{ "id": 2, "name": "payload", "type": "string", "required": false }
]
},
"icebergSortOrder": {
"orderId": 1,
"fields": [ { "sourceId": 1, "transform": "identity", "direction": "asc", "nullOrder": "nulls-first" } ]
}
},
"sourceType": "glueTable",
"source": {
"glueTable": {
"catalogId": "123456789012",
"databaseName": "my_glue_database",
"tableName": "my_source_table"
}
},
"dataMigration": {
"maintenanceSettings": {
"icebergCompaction": { "targetFileSizeMB": 512, "strategy": "binpack" },
"icebergSnapshotManagement": { "minSnapshotsToKeep": 3, "maxSnapshotAgeHours": 168 }
},
"migrationPolicies": {
"unmatchedSourceFieldsPolicy": "fail",
"incompatibleValuesPolicy": "fail"
}
},
"reviewMigrationPlan": false,
"migrationOutput": {
"bucket": "arn:aws:s3:::my-report-bucket",
"prefixes": {
"tableCompatibilityReport": "reports/table-compatibility/",
"objectCompatibilityReport": "reports/object-compatibility/",
"objectMigrationReport": "reports/object-migration/"
}
}
}
EOF
aws s3tables start-table-migration \
--cli-input-json file:///tmp/start-migration.json
AWS Restricts Managed Migration to Specific Account and Region Tables
According to AWS deployment documentation, the managed migration feature is restricted to AWS Glue-registered Hive tables containing Parquet data within the identical AWS account and region.
Amazon S3 Tables が Apache Hive テーブルの移行を簡単にするよ Amazon S3 の Apache Hive テーブルを、パイプラインや計算基盤なしで Apache Iceberg に移行できるようになったよ。 データ検証や型変換を S3 Tables が担い、運用中のテーブルへの書き込みを続けながら移行できるのがうれしいね。…
| Operational Metric | Self-Managed Approach | S3 Tables Managed Migration |
|---|---|---|
| Compute Provisioning | Required (EMR/Spark clusters) | Fully Managed by AWS |
| Pipeline Development | Weeks of custom code | API-driven configuration |
| Conversion Pricing | Instance hourly rates + storage | Pay only for copied data bytes |
| Source Tier Impact | Requires data hydration | Maintains Intelligent-Tiering status |
Query engines such as Amazon Athena and Amazon SageMaker Unified Studio gain immediate read and write access to the promoted Iceberg tables upon migration completion.