開始
加載和管理數據
處理數據
政府
引用和資源
更新07年8月,2023年
給我們反饋
配置選項的cloudFiles源是前綴cloudFiles所以他們在一個單獨的名稱空間從其他結構化流源選項。
cloudFiles
常見的自動加載程序選項
目錄列表選項
文件通知選項
文件格式選項
通用選項
JSON選項
JSON
CSV選項
CSV
拚花選項
拚花
AVRO選項
AVRO
BINARYFILE選項
BINARYFILE
文本選項
文本
獸人選項
獸人
雲特定選項
AWS特定選項
Azure特定選項
穀歌特定選項
您可以配置以下選項或文件目錄清單通知模式。
選項
cloudFiles.allowOverwrites
類型:布爾
布爾
是否允許輸入目錄文件更改覆蓋現有的數據。在磚運行時7.6及以上。
關於啟用此配置有一些警告。請參考自動加載器常見問題解答獲取詳細信息。
默認值:假
假
cloudFiles.backfillInterval
類型:時間間隔字符串
時間間隔字符串
自動裝載器可以在一個給定的時間間隔觸發異步回填,如。1一天回填一天一次,或1周回填一周一次。文件事件通知係統並不能保證100%交付的所有文件上傳,所以您可以使用回填最終處理,保證所有文件中可用磚運行時的8.4(不支持)及以上。如果使用增量清單,您還可以使用常規回填保證最終的完整性,可用磚運行時9.1 LTS及以上。
1一天
1周
默認值:無
cloudFiles.format
類型:字符串
字符串
的數據文件格式在源路徑中。允許的值包括:
avro:Avro文件
avro
binaryFile:二進製文件
binaryFile
csv:CSV文件
csv
json:JSON文件
json
獸人:獸人文件
拚花:閱讀使用磚鋪文件
文本:文本文件
默認值:無(所需選項)
cloudFiles.includeExistingFiles
是否在流處理的輸入包括現有的文件路徑或隻處理新文件初始設置後到達。評估這個選項隻有當你開始為第一次流。改變這個選項後重啟流沒有影響。
默認值:真正的
真正的
cloudFiles.inferColumnTypes
是否當利用模式推理推斷出準確的列類型。默認情況下,列是推斷作為字符串當推斷JSON和CSV數據集。看到模式推理為更多的細節。
cloudFiles.maxBytesPerTrigger
類型:字節字符串
字節字符串
新處理字節的最大數量在每一個觸發器。您可以指定一個字節字符串等10克限製每個microbatch 10 GB的數據。這是一個軟最大。如果你有文件3 GB,磚過程microbatch 12 GB。一起使用時cloudFiles.maxFilesPerTrigger,磚消耗的下限cloudFiles.maxFilesPerTrigger或cloudFiles.maxBytesPerTrigger,首先達到哪個。這個選項一起使用時沒有影響Trigger.Once ()(棄用)。
10克
cloudFiles.maxFilesPerTrigger
Trigger.Once ()
cloudFiles.maxFileAge
多長時間重複數據刪除的文件事件跟蹤目的。磚不建議調整該參數除非你攝入數據順序的數以百萬計的文件一個小時。上看到的部分事件保留為更多的細節。
類型:整數
整數
處理新文件的最大數量在每一個觸發器。一起使用時cloudFiles.maxBytesPerTrigger,磚消耗的下限cloudFiles.maxFilesPerTrigger或cloudFiles.maxBytesPerTrigger,首先達到哪個。這個選項一起使用時沒有影響Trigger.Once ()(棄用)。
默認值:1000
cloudFiles.partitionColumns
蜂巢的逗號分隔列表樣式分區列你想從文件的目錄結構推斷。蜂巢式分區列是鍵值對組合等一個平等的跡象<基本路徑> / = x / b = 1 / c = y / file.format。在這個例子中,分區列一個,b,c。默認情況下,這些列將自動添加到您的模式如果使用模式推理並提供<基本路徑>加載數據。如果你提供了一個模式,自動加載程序預計這些列將包含在模式。如果你不想要這些列作為模式的一部分,您可以指定”“忽略這些列。此外,您可以使用這個選項,當你想要列推斷複雜的目錄結構的文件路徑,像下麵的例子:
<基本路徑> / = x / b = 1 / c = y / file.format
一個
b
c
”“
<基本路徑> /年= 2022 /周= 1 / file1.csv<基本路徑> /年= 2022 /月= 2 /天= 3 / file2.csv<基本路徑> /年= 2022 /月= 2 /天= 4 / file3.csv
<基本路徑> /年= 2022 /周= 1 / file1.csv
<基本路徑> /年= 2022 /月= 2 /天= 3 / file2.csv
<基本路徑> /年= 2022 /月= 2 /天= 4 / file3.csv
指定cloudFiles.partitionColumns作為年、月、日將返回年= 2022為file1.csv,但月和一天列會零。月和一天將解析正確嗎file2.csv和file3.csv。
年、月、日
年= 2022
file1.csv
月
一天
零
file2.csv
file3.csv
cloudFiles.schemaEvolutionMode
發展模式的模式中發現新列數據。默認情況下,列是推斷作為字符串當推斷JSON數據集。看到模式演化為更多的細節。
默認值:“addNewColumns”當一個模式沒有提供。“沒有”否則。
“addNewColumns”
“沒有”
cloudFiles.schemaHints
模式信息期間,您提供自動加載程序模式推理。看到模式提示為更多的細節。
cloudFiles.schemaLocation
存儲位置推斷模式和後續更改。看到模式推理為更多的細節。
默認值:無(推斷模式時需要)
cloudFiles.useStrictGlobber
是否使用默認的globbing行為相匹配的嚴格的水珠Apache引發的其他文件來源。看到常見的數據加載模式為更多的細節。在磚運行時12.0及以上。
cloudFiles.validateOptions
是否驗證自動加載程序選項並返回一個錯誤對於未知或不一致的選項。
以下選項相關目錄清單模式。
cloudFiles.useIncrementalListing
是否使用增量清單而不是目錄清單模式下的完整清單。默認情況下,自動加載程序將自動檢測最好的努力如果給定目錄適用於增量清單。您可以顯式地使用清單或使用增量設置它的完整的目錄清單真正的或假分別。
使用Azure數據存儲Gen2(湖abfss: / /),S3 (s3: / /)和GCS (g: / /)。
abfss: / /
s3: / /
g: / /
可以在磚運行時9.1 LTS及以上。
默認值:汽車
汽車
可用值:汽車,真正的,假
以下選項相關文件通知模式。
cloudFiles.fetchParallelism
數量的線程從隊列獲取消息時使用服務。
默認值:1
cloudFiles.pathRewrites
類型:一個JSON字符串
如果你指定一個隻需要queueUrl接收來自多個S3 bucket的文件通知,你想利用掛載點配置為訪問數據在這些容器。使用這個選項改寫的前綴桶/關鍵路徑與掛載點。隻有前綴可以重寫。例如,對於配置{“< databricks-mounted-bucket > /路徑”:“dbfs: / mnt /數據倉庫工作”},路徑s3: / / < databricks-mounted-bucket > / / 2017/08 / fileA.json路徑是重寫dbfs: / mnt /數據倉庫工作/ 2017/08 / fileA.json。
queueUrl
桶/關鍵
{“< databricks-mounted-bucket > /路徑”:“dbfs: / mnt /數據倉庫工作”}
s3: / / < databricks-mounted-bucket > / / 2017/08 / fileA.json路徑
dbfs: / mnt /數據倉庫工作/ 2017/08 / fileA.json
cloudFiles.resourceTag
類型:地圖(字符串,字符串)
地圖(字符串,字符串)
一係列的鍵-值對標簽幫助聯係和確定相關資源,例如:
cloudFiles.option (“cloudFiles.resourceTag.myFirstKey”,“myFirstValue”).option (“cloudFiles.resourceTag.mySecondKey”,“mySecondValue”)
cloudFiles.option (“cloudFiles.resourceTag.myFirstKey”,“myFirstValue”)
.option (“cloudFiles.resourceTag.mySecondKey”,“mySecondValue”)
AWS的更多信息,請參閱Amazon SQS成本分配標簽和為亞馬遜SNS配置標簽的話題。(1)
Azure的更多信息,請參閱命名隊列和元數據的報道properties.labels在事件訂閱。自動加載程序商店這些鍵-值對標簽在JSON作為標簽。(1)
properties.labels
GCP的更多信息,請參閱報告和標簽使用。(1)
cloudFiles.useNotifications
是否使用文件通知模式來確定當有新的文件。如果假,使用目錄清單模式。看到自動加載器是如何工作的。
(1)自動加載程序添加以下力所能及默認鍵-值對的標簽:
供應商:磚
供應商
磚
路徑:加載位置的數據。不可用GCP由於標簽的局限性。
路徑
checkpointLocation:流的檢查點的位置。不可用GCP由於標簽的局限性。
checkpointLocation
streamId流:一個全球唯一標識符。
streamId
這些關鍵的名字是保留和你不能覆蓋他們的價值觀。
使用自動加載器可以攝取JSON,CSV,拚花,AVRO,文本,BINARYFILE,獸人文件。
以下選項適用於所有文件格式。
ignoreCorruptFiles
是否忽略腐敗文件。如果這是真的,火花的工作將繼續運行,當遇到損壞文件和已讀過的內容仍將返回。可見,numSkippedCorruptFiles在operationMetrics列的三角洲湖曆史。在磚運行時11.0及以上。
numSkippedCorruptFiles
operationMetrics
ignoreMissingFiles
是否忽略丟失的文件。如果這是真的,火花的工作將繼續運行,當遇到丟失的文件和內容閱讀仍將返回。在磚運行時11.0及以上。
默認值:假(真正的為複製成)
複製成
modifiedAfter
類型:時間戳字符串例如,2021-01-0100:00:00.000000UTC + 0
時間戳字符串
2021-01-0100:00:00.000000UTC + 0
一個可選的時間戳來攝取文件修改時間戳後提供時間戳。
modifiedBefore
一個可選的時間戳來攝取文件修改時間戳之前提供的時間戳。
pathGlobFilter或fileNamePattern
一個潛在的水珠模式提供選擇文件。相當於模式在複製成。fileNamePattern可以用在read_file。
模式
fileNamePattern
read_file
recursiveFileLookup
是否加載數據基地內遞歸目錄和跳過分區推斷。
allowBackslashEscapingAnyCharacter
是否允許反斜杠轉義字符的任何成功。如果未啟用,隻有那些顯式列出字符由JSON規範可以逃脫。
allowComments
是否允許使用Java, C和c++風格的評論(' / ',‘*’,' / / '品種)在解析內容。
' / '
‘*’
' / / '
allowNonNumericNumbers
是否允許的集合不是一個數字(南)令牌作為法定數量浮動值。
南
allowNumericLeadingZeros
是否允許積分數字開始額外(循環)0(例如,000001)。
allowSingleQuotes
是否允許使用單引號(撇號,性格“\”)引用字符串(字符串名稱和值)。
“\”
allowUnquotedControlChars
是否允許JSON字符串包含保有的控製字符(ASCII字符值小於32,包括選項卡並換行字符)。
allowUnquotedFieldNames
是否允許使用非掛牌字段名稱(允許JavaScript,但不是通過JSON規範)。
badRecordsPath
存儲文件的路徑記錄壞JSON的信息記錄。
columnNameOfCorruptRecord
列存儲記錄,是畸形的,不能被解析。如果模式解析設置DROPMALFORMED,本專欄將是空的。
DROPMALFORMED
默認值:_corrupt_record
_corrupt_record
dateFormat
解析日期的格式字符串。
默認值:yyyy-MM-dd
yyyy-MM-dd
dropFieldIfAllNull
是否要忽略所有空值的列或空數組和結構體在模式推理。
編碼或字符集
JSON編碼的文件的名稱。看到charset選項列表。你不能使用utf - 16和utf - 32當多行是真正的。
charset
utf - 16
utf - 32
多行
默認值:utf - 8
utf - 8
inferTimestamp
是否嚐試推斷作為時間戳字符串TimestampType。當設置為真正的、模式推理明顯可能需要更長時間。您必須啟用cloudFiles.inferColumnTypes使用自動加載程序。
TimestampType
lineSep
兩個連續的JSON記錄之間的字符串。
默認值:沒有,涵蓋r \,\ r \ n,\ n
r \
\ r \ n
\ n
語言環境
一個java.util.Locale標識符。影響默認日期、時間戳和十進製解析JSON。
java.util.Locale
默認值:我們
我們
解析器模式在處理畸形的記錄。之一“寬容”,“DROPMALFORMED”,或“FAILFAST”。
“寬容”
“DROPMALFORMED”
“FAILFAST”
默認值:寬容的
寬容的
JSON記錄是否跨越多個行。
prefersDecimal
試圖推斷出字符串DecimalType而不是浮點數和雙精度類型。您還必須使用模式推理,通過啟用inferSchema或使用cloudFiles.inferColumnTypes自動加載程序。
DecimalType
inferSchema
primitivesAsString
是否要推斷數字和布爾值等基本類型StringType。
StringType
rescuedDataColumn
是否收集所有的數據不能被解析由於模式數據類型不匹配或不匹配(包括列套管)到一個單獨的列中。這一列包含在默認情況下使用時自動加載程序。有關更多細節,請參考獲救的數據列是什麼?。
timestampFormat
解析時間戳的格式字符串。
默認值:yyyy-MM-dd 'HH: mm: ss [.SSS] [XXX]
yyyy-MM-dd 'HH: mm: ss [.SSS] [XXX]
時區
的java.time.ZoneId解析時使用時間戳和日期。
java.time.ZoneId
存儲文件的路徑記錄壞CSV信息記錄。
charToEscapeQuoteEscaping
類型:字符
字符
使用的用來逃避字符轉義引號。例如,對於以下記錄:(”\ \ ",b]:
(”\ \ ",b]
如果字符逃離“\”未定義時,記錄不會被解析。解析器會讀取字符:[一],[\],["],[,],[]、[b]拋出一個錯誤,因為它找不到關閉報價。
[一],[\],["],[,],[]、[b]
如果字符逃離“\”被定義為“\”記錄將被讀取2的值:[一個\]和[b]。
[一個\]
[b]
默認值:' \ 0
' \ 0
一列來存儲記錄畸形,不能被解析。如果模式解析設置DROPMALFORMED,本專欄將是空的。
評論
定義了字符代表一行評論時發現一行文本的開始。使用' \ 0禁用不發表評論。
默認值:“\ u0000”
“\ u0000”
emptyValue
空值的字符串表示。
默認值:”“
CSV文件的編碼的名稱。看到charset選項列表中。utf - 16和utf - 32時不能使用多行是真正的。
enforceSchema
是否強行指定或推斷模式應用到CSV文件。如果啟用了選擇,CSV文件的標題將被忽略。這個選項默認是忽略了在使用自動加載程序來拯救數據並允許模式演化。
逃避
解析數據時使用的轉義字符。
默認值:“\”
頭
CSV文件是否包含一個頭。自動加載程序假設推斷模式時文件頭。
ignoreLeadingWhiteSpace
是否忽略主要空白每個解析值。
ignoreTrailingWhiteSpace
是否忽略尾隨的空格為每個解析值。
是否來推斷的數據類型解析CSV或假設所有列的記錄StringType。需要一個額外的如果設置在數據傳遞給真正的。自動加載程序,使用cloudFiles.inferColumnTypes代替。
兩個連續的CSV記錄之間的字符串。
一個java.util.Locale標識符。影響默認日期、時間戳和小數解析CSV。
maxCharsPerColumn
類型:Int
Int
最大數量的角色期望從一個值來解析。可以用來避免內存錯誤。默認為1,這意味著無限的。
1
maxColumns
有多少列的硬限製記錄。
默認值:20480年
20480年
mergeSchema
是否來推斷模式跨多個文件和每個文件的合並模式。默認啟用推斷模式時自動加載程序。
解析器模式在處理畸形的記錄。之一“寬容”,“DROPMALFORMED”,“FAILFAST”。
CSV檔案是否跨越多個行。
nanValue
當解析non-a-number值的字符串表示FloatType和倍增式列。
FloatType
倍增式
默認值:“南”
“南”
negativeInf
當解析的字符串表示負無窮FloatType或倍增式列。
默認值:“負”
“負”
nullValue
parserCaseSensitive(棄用)
在閱讀文件,是否對齊列的標題模式中聲明的情況下敏感。這是真正的默認為自動加載程序。列情況下將獲救的差異rescuedDataColumn如果啟用。這個選項已經被棄用的readerCaseSensitive。
readerCaseSensitive
positiveInf
當解析的字符串表示正無窮FloatType或倍增式列。
默認值:“正”
“正”
preferDate
試圖推斷出字符串作為日期的時間戳。您還必須使用模式推理,通過啟用inferSchema或使用cloudFiles.inferColumnTypes自動加載程序。
報價
使用的字符轉義值字段分隔符的值。
默認值:”
”
當指定大小寫敏感性行為rescuedDataColumn啟用。如果這是真的,拯救數據列的名字的情況下不同模式;否則,以不區分大小寫的方式讀取數據。
是否收集所有數據不能被解析由於:一個數據類型不匹配,不匹配和模式(包括列套管)到一個單獨的列中。這一列包含在默認情況下使用時自動加載程序。更多細節請參考獲救的數據列是什麼?。
9月或分隔符
列之間的分隔符字符串。
默認值:”、“
”、“
skipRows
的行數從一開始就應該被忽略的CSV文件(包括注釋和空行)。如果頭是真的,標題將第一unskipped和注釋行。
默認值:0
0
unescapedQuoteHandling
策略來處理非轉義引號。允許選擇:
STOP_AT_CLOSING_QUOTE:如果保有的報價在輸入,積累援引性格和價值進行解析的引用值,直到找到關閉報價。
STOP_AT_CLOSING_QUOTE
BACK_TO_DELIMITER:如果保有的報價在輸入,考慮到價值作為非上市價值。這將使當前的解析值的解析器積累所有字符直到定義的分隔符9月是發現。如果沒有找到分隔符的值,解析器將繼續積累從輸入直到分隔符或行結束字符。
BACK_TO_DELIMITER
9月
STOP_AT_DELIMITER:如果保有的報價在輸入,考慮到價值作為非上市價值。這將使解析器積累所有字符直到定義的分隔符9月或發現一行結束輸入。
STOP_AT_DELIMITER
SKIP_VALUE:輸入,如果找到保有的報價的內容解析給定的值將被忽略(直到找到下一個分隔符)和價值nullValue將會產生。
SKIP_VALUE
RAISE_ERROR:輸入,如果找到保有的報價TextParsingException將拋出。
RAISE_ERROR
TextParsingException
默認值:STOP_AT_DELIMITER
datetimeRebaseMode
控製變基之間的日期和時間戳值朱利安和預期的公曆日曆。允許的值:異常,遺產,糾正。
異常
遺產
糾正
默認值:遺產
int96RebaseMode
控製的變基INT96時間戳值之間朱利安和預期的公曆日曆。允許的值:異常,遺產,糾正。
是否來推斷模式跨多個文件和每個文件的合並模式。
avroSchema
Avro格式的用戶提供的可選模式。閱讀Avro時,這個選項可以設置為一種進化模式,這是兼容與實際Avro但是不同的模式。反序列化的模式將與進化模式一致。例如,如果您設置一個進化模式包含一個額外的列的默認值,讀取結果將包含新列。
是否來推斷模式跨多個文件和每個文件的合並模式。mergeSchemaAvro不放鬆的數據類型。
二進製文件沒有任何額外的配置選項。
編碼
文本文件的編碼的名稱。看到charset選項列表。
兩個連續的文本記錄之間的字符串。
默認值:沒有,涵蓋r \,\ r \ n和\ n
wholeText
是否要讀取一個文件作為一個單獨的記錄。
自動加載器配置雲基礎設施的提供了許多選項。
隻提供以下選項如果你選擇cloudFiles.useNotifications=真正的和你想要自動加載程序設置通知為您服務:
cloudFiles.region
源S3 bucket所在地區和AWS SNS和SQS服務將被創建。
默認值:在磚運行時的9.0及以上的區域EC2實例。下麵的磚8.4運行時,您必須指定該地區。
隻提供以下選項如果你選擇cloudFiles.useNotifications=真正的和你想要的汽車加載器使用一個隊列,您已經設置:
cloudFiles.queueUrl
SQS隊列的URL。如果提供,自動加載程序直接從這個隊列,而不是消耗事件設立自己的AWS SNS和SQS服務。
您可以使用以下選項提供憑據訪問AWS SNS和SQS我角色時不可用或當你攝入數據從不同的雲。
cloudFiles.awsAccessKey
AWS訪問密鑰為用戶ID。必須提供的cloudFiles.awsSecretKey。
cloudFiles.awsSecretKey
AWS秘密為用戶訪問密鑰。必須提供的cloudFiles.awsAccessKey。
cloudFiles.roleArn
我的攻擊角色承擔。角色可以從你認為集群的實例配置文件或通過提供憑證cloudFiles.awsAccessKey和cloudFiles.awsSecretKey。
cloudFiles.roleExternalId
使用一個標識符時提供假設的作用cloudFiles.roleArn。
cloudFiles.roleSessionName
假設一個角色時使用一個可選的會話名稱使用cloudFiles.roleArn。
cloudFiles.stsEndpoint
一個可選的端點提供用於訪問AWS STS當假設一個角色使用cloudFiles.roleArn。
必須提供以下選項如果你指定的值cloudFiles.useNotifications=真正的和你想要自動加載程序設置通知為您服務:
cloudFiles.clientId
客戶端服務主體的ID或應用程序ID。
cloudFiles.clientSecret
客戶端服務主體的秘密。
cloudFiles.connectionString
連接字符串存儲賬戶,根據帳戶訪問密鑰或共享訪問簽名(SAS)。
cloudFiles.resourceGroup
的Azure資源組存儲創建帳戶。
cloudFiles.subscriptionId
的Azure訂閱ID創建資源組。
cloudFiles.tenantId
的Azure承租者ID創建服務主體。
重要的
自動化通知設置可以在Azure中國和政府與磚運行9.1和以後的區域。你必須提供一個queueName在這些地區使用自動加載程序文件通知老DBR版本。
queueName
cloudFiles.queueName
Azure隊列的名稱。如果提供,雲文件源直接從這個隊列,而不是消耗事件設置自己的Azure事件網格和隊列存儲服務。在這種情況下,你的cloudFiles.connectionString隻需要讀取隊列上的權限。
自動加載程序可以自動為您設置通知服務利用穀歌服務帳戶。您可以配置您的集群承擔的服務帳戶穀歌服務設置。你的服務帳戶需要指定的權限自動加載程序文件通知模式是什麼?。否則,您可以提供以下選項進行身份驗證如果你想設置自動加載程序通知為您服務。
cloudFiles.client
Google服務的客戶機ID賬戶。
cloudFiles.clientEmail
穀歌的電子郵件服務帳戶。
cloudFiles.privateKey
的私鑰生成的穀歌服務帳戶。
cloudFiles.privateKeyId
id的私鑰生成的穀歌服務帳戶。
cloudFiles.projectId
項目的id, GCS桶。穀歌雲Pub / Sub訂閱也將被創建在這個項目。
cloudFiles.subscription
穀歌雲的名字發布/訂閱訂閱。如果提供,雲文件從這個隊列,而不是源消耗事件設立自己的GCS通知和穀歌雲發布/訂閱服務。