是否可以在 S3 中对 Parquet 文件进行索引和分区,或者此功能仅适用于文件存储类型的卷?
我正在寻找一种方法,让研究人员可以通过 EMR 笔记本访问 S3 中的相同数据,用于 (a) 通用 R 和 Python 脚本,以及 (b) 启用 Spark 的查询。但是我们现在拥有的专有解决方案和查询语言在 NFS 存储上提供索引和分区 - 所以我想保留这个功能。我看到 Delta Lake 提供了这一点,但我想知道是否可以使用 Arrow 等更简单的工具来实现这一点。
是否可以在 S3 中对 Parquet 文件进行索引和分区,或者此功能仅适用于文件存储类型的卷?
我正在寻找一种方法,让研究人员可以通过 EMR 笔记本访问 S3 中的相同数据,用于 (a) 通用 R 和 Python 脚本,以及 (b) 启用 Spark 的查询。但是我们现在拥有的专有解决方案和查询语言在 NFS 存储上提供索引和分区 - 所以我想保留这个功能。我看到 Delta Lake 提供了这一点,但我想知道是否可以使用 Arrow 等更简单的工具来实现这一点。
您可以使用 Delta Lake 对 Parquet 文件进行分区。默认情况下,它们也被索引。
你可以这样做
%sql
CREATE TABLE UsableTable_unpartitioned
USING DELTA
LOCATION 'Location of the Parquet File on S3' ;
CREATE TABLE UsableTable
USING DELTA
PARTITIONED BY (my_partitioned_column)
LOCATION 'MyS3Location'
select * from UsableTable_unpartitioned;
DROP TABLE UsableTable_unpartitioned;
验证您的分区和创建的所有必需信息:
%sql
describe detail UsableTable
您可以使用 JDBC 公开此表