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