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

从数据砖中的装载中读取数据(使用自动加载器)

谢奕
2023-03-14

我正在使用 Azure Blob 存储来存储数据,并使用装载将此数据馈送到自动加载程序。我正在寻找一种方法来允许自动加载器从任何装载加载新文件。假设我的装载中有这些文件夹:

mnt/

├─ blob_container_1

├─ blob_container_2

当我使用 .load('/mnt/') 时,没有检测到新文件。但是当我单独考虑文件夹时,它像.load('/mnt/blob_container_1')一样工作正常。

我想使用自动加载器(连续运行)从两个装载路径加载文件

共有1个答案

尉迟宪
2023-03-14

您可以使用路径来提供前缀模式,例如:

df = spark.readStream.format("cloudFiles") \
  .option("cloudFiles.format", <format>) \
  .schema(schema) \
  .load("<base_path>/*/files")

例如,如果您想仅解析包含具有不同后缀的文件的目录中的png文件,您可以这样做:

df = spark.readStream.format("cloudFiles") \
  .option("cloudFiles.format", "binaryFile") \
  .option("pathGlobfilter", "*.png") \
  .load(<base_path>)

参考–https://docs.databricks.com/spark/latest/structured-streaming/auto-loader.html#filtering-使用glob模式的目录或文件

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

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

  • 我是数据库管理员的新手。我编写示例代码来读取Azure数据库管理员中的存储Blob。 它抛出错误: 我猜它在WASBS链接中没有附加SAS令牌,所以它没有读取数据的权限。 如何在wasbs链接中连接SAS。

  • 我从几个csv文件迭代上传节点和边,每个节点类型一个。加载节点工作得很好,但加载边并不总是有效。实际上,有些节点有数字作为标识符--如果是这样的话,所有这种类型的节点都有数字--但加载为字符串,因此创建边失败。手动创建一个边,添加用双引号包装标识符,效果很好。 边缘: 密码命令:

  • 我在Azure DataBricks中使用装载路径创建了一个非托管表,如下所示: 挂载路径的来源是存储在ADLS Gen2中的拼花文件。我看到如果底层数据在ADLS Gen 2 blob存储路径中发生变化,它不会反映在ADB中创建的非托管表中。此ADB表仍然保存创建表时blob存储中可用的数据。有什么方法可以将最新数据从blob存储放入ADB中的表中吗?