簡體   English   中英

Spark:區別:sqlContext.read.load(path='', format='') 和 sqlContext.read.format().load()

[英]Spark: Difference between: sqlContext.read.load(path= '', format= '') and sqlContext.read.format().load()

我試圖在 Spark2.2 上讀取一個 unicode 分隔的 txt 文件。 最初使用的是以前版本的 spark.read.load():

df= sqlContext.read.load(path='file:\\C:\Users\zr20684\Downloads\\SPEC_CUST_20190212230550.txt',
                         format= "com.databricks.spark.csv",
                         option= {"delimiter", "←"})

使用上面的代碼,整個行值都在一個列中。

[Row(_c0=u'01\u2190SPEC\u2190ZS\u2190SDN\u2190Insert\u219002/12/2019\u2190\u2190\u2190\u2190HCP\u2190CUST9635663\u2190\u2190\u2190JAMES\u2190\u2190DEANGELO\u2190\u2190\u2190\u2190\u2190\u2190\u2190\u2190JAMES DEANGELO\u2190\u2190\u2190\u2190\u2190\u2190A')]

使用以下更新代碼時:

df= sqlContext.read.format("com.databricks.spark.csv").option("delimiter", "←").option("encoding", "UTF-8").load('file:\\C:\Users\zr20684\Downloads\\SPEC_CUST_20190212230550.txt')

它完美地產生了結果。

[Row(_c0=u'01', _c1=u'SPEC', _c2=u'ZS', _c3=u'SDN', _c4=u'Insert', _c5=u'02/12/2019', _c6=None, _c7=None, _c8=None, _c9=u'HCP', _c10=u'CUST9635663', _c11=None, _c12=None, _c13=u'JAMES', _c14=None, _c15=u'DEANGELO', _c16=None, _c17=None, _c18=None, _c19=None, _c20=None, _c21=None, _c22=None, _c23=u'JAMES DEANGELO', _c24=None, _c25=None, _c26=None, _c27=None, _c28=None, _c29=u'A')]

如果我更新了所有已棄用的代碼,是否會出現我的整個代碼損壞的情況? 我假設更新的版本是先前版本的超集。

load方法沒有option參數,因此它被簡單地忽略。

相反, 選項應作為單獨的關鍵字參數提供,即

sqlContext.read.load(path='...', format = "csv", delimiter = "←")

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM