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)。