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.NativeS3FileSystemorg.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”)

CSV特定选项

选项名称

默认值

描述

NullValue

在输入字符串表示null值

是否跳过的第一行输入(潜在的标题内容被忽略)

评论

“#”

线从这个参数的值将被忽略

RecordDelimiter

“n”

角色分离记录在一个文件中

分隔符

”、“

字符分隔字段在一个记录

报价

“””

包含保留字符字符用来引用值

逃避

“””

用来逃避引用引用字符

AllowQuotedRecordDelimiter

值是否可以包含引用记录分隔符

JSON特定选项

选项名称

默认值

描述

类型

文档

类型的输入(“文档”或“线”)

S3身份验证

您可以使用S3身份验证方法(键和实例配置文件)中可用数据砖;我们建议您使用实例配置文件。提供的凭证有三种方式:

  1. 默认凭据提供程序链(建议选择):自动检索通过AWS凭证DefaultAWSCredentialsProviderChain。如果你使用实例配置文件来验证S3那么你应该使用这种方法。其他方法提供凭证(方法2和3)优先于违约。

  2. 在Hadoop设置键配置:指定AWS键Hadoop配置属性

    重要的

    • 当使用AWS访问S3键时,总是设置配置属性fs.s3n.awsAccessKeyIdfs.s3n.awsSecretAccessKey如以下示例所示;的属性fs.s3a.access.keyfs.s3a.secret.key不支持

    • 来引用s3a: / /文件系统,设置fs.s3n.awsAccessKeyIdfs.s3n.awsSecretAccessKey属性在Hadoop XML配置文件或电话sc.hadoopConfiguration.set ()Hadoop设置引发的全球配置。

      schadoopConfiguration(“fs.s3n.awsAccessKeyId”,“AccessKey美元”)schadoopConfiguration(“fs.s3n.awsSecretAccessKey”,“SecretKey美元”)
      sc_jschadoopConfiguration()(“fs.s3n.awsAccessKeyId”,ACCESS_KEY)sc_jschadoopConfiguration()(“fs.s3n.awsSecretAccessKey”,SECRET_KEY)
  3. 在URI编码键例如,URIAccessKey:美元s3a: / / SecretKey@bucket /路径/ / dir编码密钥对(AccessKey,SecretKey)。