2016-09-21 6 views
0

Ich bin Neuling in Python und Spark, ich versuche, Datei von Azure in Tabelle zu laden. Unten ist mein einfacher Code.Lesen und Schreiben von Datei von MS Azure mit Python

import os 
 
import sys 
 
os.environ['SPARK_HOME'] = "C:\spark-2.0.0-bin-hadoop2.74" 
 
sys.path.append("C:\spark-2.0.0-bin-hadoop2.7\python") 
 
sys.path.append("C:\spark-2.0.0-bin-hadoop2.7\python\lib\py4j-0.10.1-src.zip") 
 
from pyspark import SparkContext 
 
from pyspark import SparkConf 
 
from pyspark.sql.types import * 
 
from pyspark.sql import * 
 
sc = SparkContext("local", "Simple App") 
 

 

 
def loadFile(path, rowDelimeter, columnDelimeter, firstHeaderColName): 
 
    
 
    
 
    loadedFile = sc.newAPIHadoopFile(path, "org.apache.hadoop.mapreduce.lib.input.TextInputFormat", 
 
             "org.apache.hadoop.io.LongWritable", "org.apache.hadoop.io.Text", 
 
             conf={"textinputformat.record.delimiter": rowDelimeter}) 
 
    
 
    
 
    rddData = loadedFile.map(lambda l:l[1].split(columnDelimeter)).filter(lambda f: f[0] != firstHeaderColName) 
 
     
 
    return rddData 
 

 

 
Schema= StructType([ 
 
    
 
    StructField("Column1", StringType(), True), 
 
    StructField("Column2", StringType(), True), 
 
    StructField("Column3", StringType(), True), 
 
    StructField("Column4", StringType(), True) 
 
     
 
     
 

 
]) 
 

 
rData= loadFile("wasbs://[email protected]/File.txt", 
 
        '\r\n',"#|#","Column1") 
 
DF = sc.createDataFrame(Data,Schema) 
 
DF.write.saveAsTable("Table1")

Ich erhalte Fehler wie FileNotFoundError: [WinError 2] Das System nicht die Datei

+0

Haben Sie den Azure SparkHDinsight verwendet? Können Sie mir bitte mitteilen, in welcher Zeile in Ihrem Code diese Fehlermeldung angezeigt wird? –

Antwort

0

@Miruthan, Soweit angegeben finden, wie ich weiß, wenn wir möchten, Um Daten von WASB in Spark zu lesen, lautet die URL-Syntax wie folgt:

In der Zwischenzeit aufgrund von Azure S Das Tarage-Blob (WASB) wird als Speicherkonto verwendet, das einem HDInsight-Cluster zugeordnet ist. Können Sie das bitte überprüfen? Irgendein Update, lass es mich wissen.

Verwandte Themen