如何将大型 CSV 文件加载到 WSO2 ML 中



我试图将 10GB 的 CSV 文件上传到 WSO2 ML,但我做不到,它给了我错误,我点击了这个链接来更改我的数据集在 WSO2 ML(https://docs.wso2.com/display/ML100/FAQ#FAQ-Isthereafilesizelimittomydataset?Isthereafilesizelimittomydataset?

我在具有以下特征的PC上运行wso2 ML:- 50GB 内存- 8 核心

谢谢

在将数据集上传到 WSO2 Machine Learner 时,我们提供了三个选项。

  1. 从本地文件系统上传文件。如前所述,最大上传限制保持在 100MB,您可以通过设置wso2server.dat文件选项来增加限制-Dog.apache.cxf.io.CachedOutputStream.Threshold。我们已经用一个 1GB 的文件测试了这个功能。但是,对于大文件,我们不建议使用此选项。此功能的主要用例是允许用户使用小数据集快速尝试一些机器学习算法。

由于您正在使用大型数据集,因此我们建议您遵循两种方法将数据集上传到 WSO2 ML 服务器。

  1. 使用 Hadoop 文件系统 (HDFS) 上传数据。我们在文档 [1] 中详细介绍了如何在 WSO2 ML 中使用 HDFS 文件。

  2. 如果您已启动并运行 WSO2 DAS 实例,通过将 WSO2 ML 与 WSO2 DAS 集成,您可以在 WSO2 ML 的"创建数据集"向导中轻松指出 DAS 表作为源类型。有关将 WSO2 ML 与 WSO2 DAS 集成的更多详细信息,请参阅 [2]。

如果您需要有关此问题的更多帮助,请告诉我。

[1]. https://docs.wso2.com/display/ML100/HDFS+Support

[2]. https://docs.wso2.com/display/ML110/Integration+with+WSO2+Data+Analytics+Server

对于那些

想要使用 HDP (Hortonworks) 作为 HDFS 解决方案的一部分,通过 IPC 使用 8020 的 NameNode 端口为 WSO2 ML 加载大型数据集(即 hdfs://hostname:8020/samples/data/wdbcSample.csv)的人,您可能还需要首先使用以下 Java 客户端将此类数据文件摄取到 HDFS 上:

public static void main(String[] args) throws Exception {
    Configuration configuration = new Configuration();
    FileSystem hdfs = FileSystem.get(new URI("hdfs://hostname:8020"), configuration);
    Path dstPath = new Path("hdfs://hostname:8020/samples/data/wdbcSample.csv");
    if (hdfs.exists(dstPath)) {
        hdfs.delete(dstPath, true);
    } else {
        System.out.println("No such destination ...");
    }
    Path srcPath = new Path("wdbcSample.csv"); // a local file path on the client side
    try {
        hdfs.copyFromLocalFile(srcPath, dstPath);
        System.out.println("Done successfully ...");
    } catch (Exception ex) {
        ex.printStackTrace();
    } finally {
        hdfs.close();
    }
}

最新更新