0
我用下面的代碼加載從Amazon S3中的數據:爲什麼我無法從DSX筆記本中的Amazon S3加載數據?
from ingest import Connectors
from pyspark.sql import SQLContext
sqlContext = SQLContext(sc)
S3loadoptions = {
Connectors.AmazonS3.ACCESS_KEY : 'AKIAJYCJAFZYENNPACNA',
Connectors.AmazonS3.SECRET_KEY : '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',
Connectors.AmazonS3.SOURCE_BUCKET : 'ngpconnector',
Connectors.AmazonS3.SOURCE_FILE_NAME : 'addresses3.csv',
Connectors.AmazonS3.SOURCE_INFER_SCHEMA : '1',
Connectors.AmazonS3.SOURCE_FILE_FORMAT : 'csv'}
S3DF = sqlContext.read.format('com.ibm.spark.discover').options(**S3loadoptions).load()
S3DF.printSchema()
S3DF.show(5)
但是當我運行這個代碼片斷,我碰到下面的錯誤。從另一個數據源(如dashDB)加載時,我收到了類似的錯誤消息。
AttributeErrorTraceback (most recent call last)
<ipython-input-1-9da344857d7e> in <module>()
4
5 S3loadoptions = {
----> 6 Connectors.AmazonS3.ACCESS_KEY : 'AKIAJYCJAFZYENNPACNA',
7 Connectors.AmazonS3.SECRET_KEY : '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',
8 Connectors.AmazonS3.SOURCE_BUCKET : 'ngpconnector',
AttributeError: 'NoneType' object has no attribute 'AmazonS3'
該錯誤指出「攝取」中沒有「連接器」。你確定你從正確的圖書館進口嗎? – Njol
請不要創建新的SQLContext。 DSX上的筆記本已經有了一個。 –
檢查您選擇的Spark版本。 iirc,Spark 1.6和Spark 2.x有不同版本的攝入庫。此外,Python 2.7與Python 3.5可以發揮作用。 –