Amazon S3选择
Amazon S3选择使只检索所需的数据对象。砖S3选择连接器提供了一个Apache火花数据源,利用S3选择。当您使用一个S3选择数据源,过滤器和列选择DataFrame被推下来,保存S3数据带宽。
限制
Amazon S3选择支持以下文件格式:
CSV和JSON文件
utf - 8编码
GZIP压缩或没有
砖S3选择连接器有以下限制:
复杂类型(数组和对象)不能用于JSON
不支持模式推理
文件不支持分裂,但是支持多行记录
不支持DBFS挂载点
重要的
砖7.0运行时,其中包括1.11.655 AWS SDK升级,不支持org.apache.hadoop.fs.s3native.NativeS3FileSystem
和org.apache.hadoop.fs.s3.S3FileSystem
用于访问S3。
砖强烈建议您使用S3AFileSystem
提供的砖,这是默认的s3a: / /
,s3: / /
,s3n: / /
在砖运行时文件系统方案。如果你需要援助与迁移S3AFileSystem
,联系砖或砖代表的支持。
使用
sc。读。格式(“s3select”)。模式(…)。选项(…)。负载(“s3: / /桶/文件名”)
创建表的名字(…)使用S3SELECT位置“s3: / /桶/文件名”(选项(…)]
如果文件扩展名. csv
或. json
,格式是自动检测;否则你必须提供FileFormat
选择。
选项
本节描述选项对所有特定于CSV和JSON文件类型和选项。
通用选项
选项名称 |
默认值 |
描述 |
---|---|---|
FileFormat |
“汽车” |
输入文件类型(“汽车”,“csv”,或“json”) |
CompressionType |
“没有” |
压缩编解码器使用的输入文件(“没有”或“gzip”) |
S3身份验证
您可以使用S3身份验证方法(键和实例配置文件)中可用数据砖;我们建议您使用实例配置文件。提供的凭证有三种方式:
默认凭据提供程序链(建议选择):自动检索通过AWS凭证DefaultAWSCredentialsProviderChain。如果你使用实例配置文件来验证S3那么你应该使用这种方法。其他方法提供凭证(方法2和3)优先于违约。
在Hadoop设置键配置:指定AWS键Hadoop配置属性。
重要的
当使用AWS访问S3键时,总是设置配置属性
fs.s3n.awsAccessKeyId
和fs.s3n.awsSecretAccessKey
如以下示例所示;的属性fs.s3a.access.key
和fs.s3a.secret.key
是不支持。来引用
s3a: / /
文件系统,设置fs.s3n.awsAccessKeyId
和fs.s3n.awsSecretAccessKey
属性在Hadoop XML配置文件或电话sc.hadoopConfiguration.set ()
Hadoop设置引发的全球配置。sc。hadoopConfiguration。集(“fs.s3n.awsAccessKeyId”,“AccessKey美元”)sc。hadoopConfiguration。集(“fs.s3n.awsSecretAccessKey”,“SecretKey美元”)
sc。_jsc。hadoopConfiguration()。集(“fs.s3n.awsAccessKeyId”,ACCESS_KEY)sc。_jsc。hadoopConfiguration()。集(“fs.s3n.awsSecretAccessKey”,SECRET_KEY)
在URI编码键例如,URI
AccessKey:美元s3a: / / SecretKey@bucket /路径/ / dir
编码密钥对(AccessKey
,SecretKey
)。