如何在 dsx ml 管道中处理带有非标准分隔符的输入文件?
How to handle input file with non standard delimiters in dsx ml pipeline?
我正在尝试使用没有 header 且字段分隔符为 ::
的数据集:
! wget --quiet http://files.grouplens.org/datasets/movielens/ml-1m.zip
! unzip ml-1m.zip
! mv ml-1m/ratings.dat .
! head ratings.dat
输出:
1::1193::5::978300760
1::661::3::978302109
1::914::3::978301968
我已将文件加载到我的 dsx 管道中,但我不清楚如何让 dsx 使用 ::
分隔符拆分此文件。
我该怎么做?
如果无法使用 dsx ml 管道功能让 dsx 重塑此文件,dsx 在输入文件格式方面是否有任何 pre-requisities?
更新:
我尝试使用的 ml 管道功能可以从下面的屏幕截图中看到:
我添加了一个数据集,但不知道如何让 dsx 识别字段分隔符:
截至 2017 年 2 月...
当您创建新管道和 select 数据集时,我相信 DSX 使用 Spark DataFrameReader 加载您 select 的文件。 DataFrameReader 默认使用单个 ,
作为分隔符。 DSX 不提供更改 UI.
中默认分隔符的方法
我认为预处理数据是您的最佳选择。您可以在笔记本中执行此操作。请注意,Spark DataFrameReader 仅支持单个字符分隔符,因此您不能将其用于此特定数据集。但是,您可以使用 pandas。
import pandas as pd
pdf = pd.read_csv('ml-1m/ratings.dat', sep='::',
header=None,
names=['UserID','MovieID','Rating','Timestamp'],
engine='python')
pdf.to_csv('ratings.csv', index=False)
!head ratings.csv
UserID,MovieID,Rating,Timestamp
1,1193,5,978300760
1,661,3,978302109
1,914,3,978301968
1,3408,4,978300275
1,2355,5,978824291
1,1197,3,978302268
1,1287,5,978302039
1,2804,5,978300719
1,594,4,978302268
现在数据将采用 DSX 能够正确解析的格式。
我正在尝试使用没有 header 且字段分隔符为 ::
的数据集:
! wget --quiet http://files.grouplens.org/datasets/movielens/ml-1m.zip
! unzip ml-1m.zip
! mv ml-1m/ratings.dat .
! head ratings.dat
输出:
1::1193::5::978300760
1::661::3::978302109
1::914::3::978301968
我已将文件加载到我的 dsx 管道中,但我不清楚如何让 dsx 使用 ::
分隔符拆分此文件。
我该怎么做?
如果无法使用 dsx ml 管道功能让 dsx 重塑此文件,dsx 在输入文件格式方面是否有任何 pre-requisities?
更新:
我尝试使用的 ml 管道功能可以从下面的屏幕截图中看到:
我添加了一个数据集,但不知道如何让 dsx 识别字段分隔符:
截至 2017 年 2 月...
当您创建新管道和 select 数据集时,我相信 DSX 使用 Spark DataFrameReader 加载您 select 的文件。 DataFrameReader 默认使用单个 ,
作为分隔符。 DSX 不提供更改 UI.
我认为预处理数据是您的最佳选择。您可以在笔记本中执行此操作。请注意,Spark DataFrameReader 仅支持单个字符分隔符,因此您不能将其用于此特定数据集。但是,您可以使用 pandas。
import pandas as pd
pdf = pd.read_csv('ml-1m/ratings.dat', sep='::',
header=None,
names=['UserID','MovieID','Rating','Timestamp'],
engine='python')
pdf.to_csv('ratings.csv', index=False)
!head ratings.csv
UserID,MovieID,Rating,Timestamp
1,1193,5,978300760
1,661,3,978302109
1,914,3,978301968
1,3408,4,978300275
1,2355,5,978824291
1,1197,3,978302268
1,1287,5,978302039
1,2804,5,978300719
1,594,4,978302268
现在数据将采用 DSX 能够正确解析的格式。