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

我们可以从数据砖自动加载器中排除或仅包含特定的文件扩展名吗?

农建弼
2023-03-14

现在,数据库里克斯自动加载程序需要一个目录路径,所有文件都将从该目录加载。但是,如果一些其他类型的日志文件也开始进入该目录——有没有办法让自动加载程序在准备数据帧时排除这些文件

df = spark.readStream.format("cloudFiles") \
  .option(<cloudFiles-option>, <option-value>) \
  .schema(<schema>) \
  .load(<input-path>)

共有2个答案

羊舌高爽
2023-03-14

使用 pathGlobFilter 作为选项之一,并提供一个正则表达式来筛选文件类型或具有特定名称的文件。

例如,要跳过文件名为A1.csv的文件,A2.csv……A9.csv从加载位置,path GlobFilter的值如下所示:

df = spark.read.load("/file/load/location,
                     format="csv", 
                     schema=schema, 
                     pathGlobFilter="A[0-9].csv")
凤凡
2023-03-14

自动加载器支持将球形串指定为

<代码>

Glob语法支持不同的选项,例如任何字符的*等。因此,您可以将input-path指定为,例如path/*. json。您也可以排除文件,但与包含模式相比,构建该模式可能会稍微复杂一些,但它仍然是可能的——例如,*。[^l][^o][^g]应该排除扩展名为. log的文件

 类似资料:
  • 我已经在我的容器中压缩了文件,我每天都会得到一个或多个文件,当它们进来时,我想处理这些文件。我有一些问题。 > 我可以使用Databricks自动加载功能来处理zip文件吗?Autoloader是否支持zip文件? 使用Autoloader需要启用哪些设置?我有我的容器和sas令牌。 一旦zip文件被处理(解压缩,读取zip文件中的每个文件),我就不应该再次读取zip。当我使用自动加载器时,我该怎

  • 我正在使用 Azure Blob 存储来存储数据,并使用装载将此数据馈送到自动加载程序。我正在寻找一种方法来允许自动加载器从任何装载加载新文件。假设我的装载中有这些文件夹: mnt/ ├─ blob_container_1 ├─ blob_container_2 当我使用 .load('/mnt/') 时,没有检测到新文件。但是当我单独考虑文件夹时,它像.load('/mnt/blob_conta

  • 我正在制作一个 bash 脚本;如何找到不以特定扩展名结尾的文件? 谢谢。

  • 我是这个Databricks自动加载器的新手,我们有一个要求,我们需要通过Databricks自动加载器处理从AWS s3到delta表的数据。我正在测试这个自动加载程序,所以我遇到了重复的问题,即如果我上传一个文件名为emp_09282021.csv的文件,该文件与emp_09272021.csv文件具有相同的数据,那么它没有检测到任何重复,它只是简单地插入它们,所以如果我在emp_092720

  • 问题内容: 给定一个文件名,例如: 我想删除扩展名(如果存在)。我怎样用Java做这个?谢谢! 问题答案: 就像是 索引检查可避免将“ ” 等隐藏文件转换为“”,并避免使用诸如的名称。

  • 问题内容: 我正在寻找一个小的功能,该功能允许我从文件名中删除扩展名。 我通过谷歌搜索发现了许多示例,但是它们很糟糕,因为它们只是用“。”删除了字符串的一部分。。他们使用点作为限制器,只是剪切字符串。 看这些脚本, 要么 当我们添加这样的字符串时: 这是字符串的例子 它将仅返回“ This” … 该扩展名可以包含3个或4个字符,因此我们必须检查点是否位于4或5个位置,然后将其删除。 怎么做到呢?