无法读取文件并列WAB文件系统

学习如何解释数据bricks存取WASB附加词bl类型时发生的错误

写由亚当巴夫拉卡

2022年6月1日

问题

试读WAB和Spark文件时,有下列例外:

sparkExceptive:任务0因阶段故障中断 1.0级失败4次,最近故障:1.0级缺失任务0.3(TID19,10.39.64.5执行器0):阴暗databricks.org.apache.hadoop.fs.azure.AzreExceptive:com.micsoft.azure.story.s期望Block_Blob实战APD_Blob

试列WAB使用文件丁基素.fs.ls或HadoopAPI,有下列例外

java.io.FileNotFoundException: File/
          
           不存在 。
          

因果

WASB文件系统支持三种布局:块状、页式和附加

  • 块布优化上传大块数据( Hadoop默认值)。
  • 页面blobs优化随机读写操作
  • 后端blobs优化辅助操作

看吧理解块状浮点数、附加浮点数和页状浮点数细节详解

以上描述的错误会发生,如果你试图读子blob或列表仅包含子blobs目录的目录数据键盘hadoopAzureWAB实现不支持阅读附加词blobs相似时列表目录, 忽略附加blobs

禁止阅读子串或列表目录只包含子串blobs可使用AzureCLI或Azure存储SDK表示ython

可运行AzureCLI命令验证目录是否包含blobs

az存储blob列表\-auth-mode密钥\-ccount-name
          
           \-容器名
           
            \-前缀
            
           
          

结果返回为JSON文档,很容易查找文件布局类型

如果目录大,可用标志限制结果数num结果 .

Azure存储SDK支持ython列表并探索WAB文件系统文件

PythonExers = service.list_blobs (blobs.coperities.blob_type=AppendBlob

Databricks支持使用 Hadoopa

求解

这个问题没有解决之道

AzureCLI或Azure存储SDK为Python识别目录中是否包含blobs或对象为blob

SparkSQLUDF或自定义函数使用RDDAPI加载、读转blobs使用Azure存储SDKPython

文章有帮助吗