我曾经传递以下格式的文件路径,以将数据文件从s3存储桶导入H2O流(版本3.18.0.10(:
importFiles ["s3a://ACCESS KEY:SECRET KEY@parvin-us-west1-data/Prod/154351418084_train/"]
在更新到版本3.22.0.2后,我收到了以下相同文件路径的错误。
Error calling GET /3/ImportFiles?path=s3a%3A%2F%2ACCESS KEY%3SECRET KEY%40parvin-us-west1-data%2FProd%2F154351418084_train%2F
--------------------
HTTP connection failure: status=error, code=500, error=Server Error
--------------------
现在它似乎期望不同的s3文件路径格式,有没有关于如何将带有凭据的s3文件通路传递到最新版本的h2o的文档?
更新:
更改配置后,我可以导入文件。运行importfile单元后,将显示以下内容。
导入了1/1个文件
文件s3a://parvin-us-west1-data/Prod/154351418084_train/data.csv
然而,当我按下"解析这些文件"时,它会显示具有以下内容的新单元格,但没有任何进展:
setupParse source_frames:["s3a://parvin-us-west1-data/Prod/154351418084_train/data.csv"]
同样在页面底部,它写着"请求/3/ParseSetup",但什么也没发生。即使它在20分钟后也不会给出超时错误。
终端日志的最后一行是:1283#71051-12信息:POST/3/ParseSetup,parms:{source_frames=["s3a://parvin-us-west1-data/Prod/154351418084_train/data.csv"]}
关于没有此问题的版本(3.18.0.10(的注意事项:
按下"解析这些文件"后:它将以下信息提示到单元格中:
setupParse source_frames:["s3a://ACCESS KEY:SSECRETKEY@parvin-us-west1-data/Prod/154535148084_train/data.csv"]
不同的是,它还包括url的凭据部分。
更新:
我还尝试过以独立模式启动h2o(使用core-site.xml传递凭据(。即使在这种情况下,它也无法在导入文件后解析这些文件。
文件格式应该相同(请参阅文章底部的选项3(,我做了一个快速测试,使用importFiles [ "s3a://<AWS_ACCESS_KEY>:<AWS_SECRET_KEY>@bucket/path/to/file.csv" ]
对我有效。
我会检查你的连接是否良好,你的集群状态,以及你是否可以通过任何其他方式访问该文件。
以下是当前文档中H2O在独立模式下运行的内容。您也可以访问此链接查看多节点模式:
当使用简单的Java启动命令在独立模式下运行H2O时,我们可以通过两种方式传入S3凭据。
您可以通过创建一个core-site.xml文件以独立模式传入凭据,并使用-hdfs_config标志将其传入。有关core-site.xml文件的示例,请参阅core-site.xml。
- 编辑core-site.xml文件中的属性,以包括您的访问密钥ID和访问密钥,如以下示例所示:
<property>
<name>fs.s3.awsAccessKeyId</name>
<value>[AWS SECRET KEY]</value>
</property>
<property>
<name>fs.s3.awsSecretAccessKey</name>
<value>[AWS SECRET ACCESS KEY]</value>
</property>
-
在命令行中输入以下内容,使用配置文件core-site.xml启动:
java -jar h2o.jar -hdfs_config core-site.xml
-
使用
importFile
导入数据,S3 URL路径为:s3://bucket/path/to/file.csv
。您可以在Flow、R或Python中的S3 URL中传递Minio访问密钥和Secret访问密钥(其中AWS_Access_Key表示您的用户名,AWS_Secret_Key表示密码(。
要从Flow API导入数据,请执行以下操作:importFiles [ "s3://<AWS_ACCESS_KEY>:<AWS_SECRET_KEY>@bucket/path/to/file.csv" ]