Spark: Разница между: sqlContext.read.load (path = '', format = '') и sqlContext.read.format (). Load () - PullRequest
0 голосов
/ 25 апреля 2019

Я пытался прочитать текстовый файл с разделением юникодом в Spark2.2. Изначально использовалась предыдущая версия 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')]

Если я обновлю весь свой запрещенный код, будет ли какой-либо сценарий, когда весь мой код сломается? Я предполагаю, что обновленный является надмножеством предыдущей версии.

1 Ответ

0 голосов
/ 25 апреля 2019

load метод не имеет аргумента option, поэтому он просто игнорируется.

Вместо параметры должны быть представлены в качестве отдельных аргументов ключевого слова, т.е.

sqlContext.read.load(path='...', format = "csv", delimiter = "←")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...