将一些文件上传到我的项目并创建目录后,我可以在Find and Add Data
部分看到文件列表。但是,没有链接Insert to code
。对于类型为csv
、json
、tar.gz
的文件以及目录中的数据集也是如此。我做错了什么?
插入到代码选项仅适用于您在对象存储服务中上传的数据。
我看到您正在使用目录在 DSX 中进行存储。
目录仍处于测试状态,目录数据资产当前未添加或支持插入代码。
请随时在此处添加增强请求:- https://datascix.uservoice.com/forums/387207-general
如果使用对象存储作为存储创建项目,您将看到 csv 文件的代码插入。
要从目录中读取,您需要使用 projectUtil。
目录数据资产被视为项目的资源,因此要访问它,您需要访问令牌。
因此,第一步,生成令牌以访问目录资源。 转到"项目设置"并创建访问令牌,然后清除下一个单元格和 单击"在笔记本中插入上面 3 个点的项目令牌",然后 您将看到生成的代码如下
生成的代码只是创建项目上下文。
import com.ibm.analytics.projectNotebookIntegration._
val pc = ProjectUtil.newProjectContext(sc, "994b03fa-XXXXXX", "p-XXXXXXXXXX")
让我们列出可用文件。
val fileList = ProjectUtil.listAvailableFilesData(pc)
fileList.indices.foreach( i => println(i + ": " + fileList(i)))
因此,文件列表包含您的文件名。 您可以直接使用文件名作为第二个参数。
val df = ProjectUtil.loadDataFrameFromFile(pc, fileList(1))
或
val df1 = ProjectUtil.loadDataFrameFromFile(pc, "co2.csv")
您将在下面看到:- "创建数据帧,这将需要一些时间... 数据帧已创建。
df.show()
,您将看到内容。
完整笔记本:- https://github.com/charles2588/bluemixsparknotebooks/blob/master/scala/Read_Write_Catalog_Scala.ipynb
下面的文档也有python和R的例子。  Ref for projectUtil:- https://datascience.ibm.com/docs/content/local/notebookfunctionsload.html
谢谢 查尔斯。