AWS的湖倉一體使用數據湖格式進行銜接實例分析,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。
一直有小伙伴詢問能否使用Amazon Redshift(數倉)查詢Hudi表,現在它終于來了。
現在您可以使用Amazon Redshift查詢Amazon S3 數據湖中Apache Hudi/Delta Lake表數據。Amazon Redshift Spectrum作為Amazon Redshift的特性可以允許您直接從Redshift集群中查詢S3數據湖,而無需先將數據加載到其中,從而最大限度地縮短了洞察數據價值時間。
Redshift Spectrum支持Lake house架構,可以跨Redshift、Lake house和操作數據庫查詢數據,而無需進行ETL或加載數據。Redshift Spectrum支持開放數據格式,如Parquet、ORC、JSON和CSV。Redshift Spectrum還支持查詢具有復雜嵌套數據類型(如struct、array或map)。
Redshift Spectrum允許您讀取Apache Hudi 0.5.2版本的Copy-on-Write(CoW)表的最新快照,并且可以通過manifest文件讀取最新的Delta Lake 0.5.0版本表。
要查詢Apache Hudi的Copy-On-Write(CoW)格式的數據,可以使用Amazon Redshift-Spectrum外表。Hudi Copy On Write表是存儲在Amazon S3中的Apache Parquet文件的集合。有關更多信息,請參閱開源Apache Hudi文檔中的Copy-On-Write表。
當創建引用Hudi CoW格式數據的外表后,將外表中的每一列映射到Hudi數據中的列。映射是按列完成的。
Hudi分區和未分區表的數據定義語言(DDL)語句與其他Apache Parquet文件格式的語句類似。對于Hudi表,可以將INPUTFORMAT
定義為org.apache.hudi.hadoop.HoodieParquetInputFormat
. LOCATION
參數必須指向包含.hoodie
文件夾的Hudi表基礎文件夾,該文件夾是建立Hudi提交時間線所必需的。在某些情況下,對Hudi表的SELECT操作可能會失敗,并顯示消息**No valid Hudi commit timeline found
**。如果是,請檢查.hoodie
文件夾是否在正確的位置,并且包含有效的Hudi提交時間線。
注意,Apache Hudi格式只有在使用AWS Glue Data時支持,不支持使用Apache Hive metastore作為外部catalog。
使用如下命令定義非分區表
CREATE EXTERNAL TABLE tbl_name (columns)
ROW FORMAT SERDE 'org.apache.hadoop.hive.ql.io.parquet.serde.ParquetHiveSerDe'
STORED AS
INPUTFORMAT 'org.apache.hudi.hadoop.HoodieParquetInputFormat'
OUTPUTFORMAT 'org.apache.hadoop.hive.ql.io.parquet.MapredParquetOutputFormat'
LOCATION 's3://s3-bucket/prefix'
使用如下命令定義分區表
CREATE EXTERNAL TABLE tbl_name (columns)
PARTITIONED BY(pcolumn1 pcolumn1-type[,...])
ROW FORMAT SERDE 'org.apache.hadoop.hive.ql.io.parquet.serde.ParquetHiveSerDe'
STORED AS
INPUTFORMAT 'org.apache.hudi.hadoop.HoodieParquetInputFormat'
OUTPUTFORMAT 'org.apache.hadoop.hive.ql.io.parquet.MapredParquetOutputFormat'
LOCATION 's3://s3-bucket/prefix'
為Hudi分區表添加分區,請使用ALTER TABLE ADD PARTITION
命令,其中LOCATION
參數指向屬于分區的Amazon S3子文件夾。
使用如下命令添加分區
ALTER TABLE tbl_name
ADD IF NOT EXISTS PARTITION(pcolumn1=pvalue1[,...])
LOCATION 's3://s3-bucket/prefix/partition-path'
看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。