当前位置: 首页 > 知识库问答 >
问题:

ADLS文件中的数据块作业微件

慕璞
2023-03-14

我有一个文本小部件,用户需要在批处理id说“201906”饲料,这是一年与月。所以这个特定批次的数据被处理。那么,现在我如何从位于ADLS容器中的CSV或文件名中获取该值,并在databricks dropdown小部件中使用它,以便用户不能自由输入不需要处理或限制处理的batchid?因此,基本上我想给用户的选择与所需的批处理,但不是一个完整的字段来输入他想要的任何东西。

共有1个答案

崔棋
2023-03-14

很简单-您可以使用本地文件API访问DBFS上的文件,如下所示(您需要将dbfs:/替换为/dbfs/以访问DBFS上的文件):

with open("/dbfs/tmp/my-batches.txt") as f:
  batches = [l.strip() for l in f.readlines() if l.strip() != ""]
    
dbutils.widgets.dropdown(name="batches", label="Select batch", 
     choices=batches, defaultValue=batches[0])

会给你你需要的东西:

可以使用 Spark API 实现相同的目标 - 它可能有点慢,但不需要装载存储帐户 - 可以使用 abfss://wasbs:// 和其他受支持的协议:

dbutils.widgets.removeAll()
df = spark.read.text("/tmp/my-batches.txt")
batches = [r[0].strip() for r in df.collect() if r[0].strip() != ""]   
dbutils.widgets.dropdown(name="batches", label="Select batch", 
     choices=batches, defaultValue=batches[0])
 类似资料:
  • 获取文件详情 接口 GET https://cloud.minapp.com/userve/v1/file/:file_id/ 其中 :file_id 需替换为你的文件 ID 代码示例 var axios = require('axios').create({ withCredentials: true }) axios.get('https://cloud.minapp.com/userve

  • 获取文件详情 接口 GET https://cloud.minapp.com/oserve/v1/file/:file_id/ 其中 :file_id 需替换为你的文件 ID 代码示例 {% tabs getFileDetailCurl=”Curl”, getFileDetailNode=”Node”, getFileDetailPHP=”PHP” %} {% content “getFileDe

  • 我需要实现一个从HBase表和HDFS文件访问数据的MR作业。E、 例如,映射器从HBase表和HDFS文件读取数据,这些数据共享相同的主键,但具有不同的模式。然后,reducer将所有列(来自HBase表和HDFS文件)连接在一起。 我试着在线查看,但找不到使用这种混合数据源运行MR作业的方法。MultipleInput似乎只适用于多个HDFS数据源。如果您有一些想法,请告诉我。示例代码会很棒。

  • 我在使用java文件的VSCode中工作,做了几件事(这可能会导致出现此问题): 从marketplace for Java和C安装扩展 参数中存在类型时的文本编辑器屏幕截图: 参数中不存在类型时的文本编辑器屏幕截图: 所以基本上,我不希望参数中存在这种类型,也就是说,我希望我的文本编辑器像图3,4中的那样,而不是图1,2。我该怎么做?

  • fgets() 有局限性,每次最多只能从文件中读取一行内容,因为 fgets() 遇到换行符就结束读取。如果希望读取多行内容,需要使用 fread() 函数;相应地写入函数为 fwrite()。 对于 Windows 系统,使用 fread() 和 fwrite() 时应该以二进制的形式打开文件,具体原因我们已在《 文本文件和二进制文件到底有什么区别》一文中进行了说明。 fread() 函数用来从

  • 我正在尝试将位于azure datalake中的csv压缩为zip。该操作是使用datricks中的python代码完成的,我在其中创建了一个挂载点以将dbfs与datalake直接关联。 这是我的代码: 但是我收到了这个错误: 有什么办法吗? 提前感谢。