小编Sai*_*kat的帖子

如何从 Azure databricks 在 Azure Blob 中创建空文件夹

我有一个场景,我想列出 Azure Blob 中目录内的所有文件夹。如果不存在文件夹,则创建一个具有特定名称的新文件夹。

我正在尝试使用 dbutils.fs.ls(path) 列出文件夹。

但上述命令的问题是,如果路径不存在,它就会失败,这对我来说是一个有效的场景。

如果我的程序第一次运行,路径将不存在,并且 dbutils.fs.ls 命令将失败。有什么方法可以从 Databricks 动态处理这种情况。

如果我可以在执行作业之前从 Databricks 在 Azure Blob 中创建一个空文件夹,它也对我有用。

我尝试从 databricks 笔记本运行以下命令

   %sh mkdir -p /mnt/<mountName>/path/folderName 
Run Code Online (Sandbox Code Playgroud)

这里命令成功运行,即使我在 Azure Blob 中的容器已安装,它也不会创建该文件夹。抱歉这么长的帖子。任何帮助深表感谢。提前致谢

azure azure-blob-storage databricks azure-databricks

14
推荐指数
1
解决办法
3万
查看次数

如何将数组拆分为块并找到块的总和并将输出作为数组存储在 pyspark 中

我有一个数据框,如下所示:

+-----+------------------------+
|Index|   finalArray           |
+-----+------------------------+
|1    |[0, 2, 0, 3, 1, 4, 2, 7]|
|2    |[0, 4, 4, 3, 4, 2, 2, 5]|
+-----+------------------------+
Run Code Online (Sandbox Code Playgroud)

我想将数组分成 2 个块,然后找到每个块的总和并将结果数组存储在列 finalArray 中。它将如下所示:

+-----+---------------------+
|Index|    finalArray       |
+-----+---------------------+
|1    |[2, 3, 5, 9]         |
|2    |[4, 7, 6, 7]         |
+-----+---------------------+
Run Code Online (Sandbox Code Playgroud)

我可以通过创建 UDF 但寻找更好和优化的方法来做到这一点。如果我可以使用 withColumn 并传递 flagArray 来处理它,而不必编写 UDF,则最好。

@udf(ArrayType(DoubleType()))
def aggregate(finalArray,chunkSize):
   n = int(chunkSize)
   aggsum = []
   final = [finalArray[i * n:(i + 1) * n] for i in range((len(finalArray) + n …
Run Code Online (Sandbox Code Playgroud)

apache-spark apache-spark-sql pyspark pyspark-dataframes

1
推荐指数
1
解决办法
542
查看次数

用pyspark中对应的数字替换数组中的元素

我有一个如下所示的数据框:

   +----------+--------------------------------+
   | Index    |           flagArray            |
   +----------+--------------------------------+
   |    1     | ['A','S','A','E','Z','S','S']  | 
   +----------+--------------------------------+
   |    2     | ['A','Z','Z','E','Z','S','S']  |
   +--------- +--------------------------------+
Run Code Online (Sandbox Code Playgroud)

我想用其相应的数值来表示数组元素。

     A - 0
     F - 1
     S - 2
     E - 3
     Z - 4
Run Code Online (Sandbox Code Playgroud)

所以我的输出数据帧应该看起来像

   +----------+--------------------------------+--------------------------------+
   | Index    |           flagArray            |           finalArray           |
   +----------+--------------------------------+--------------------------------+
   |    1     | ['A','S','A','E','Z','S','S']  | [0, 2, 0, 3, 4, 2, 2]          | 
   +----------+--------------------------------+--------------------------------+
   |    2     | ['A','Z','Z','E','Z','S','S']  | [0, 4, 4, 3, 4, 2, 2]          |
   +--------- +--------------------------------+--------------------------------+
Run Code Online (Sandbox Code Playgroud)

我在 pyspark 中编写了一个 udf,我通过编写一些 …

python-3.x apache-spark apache-spark-sql pyspark pyspark-dataframes

0
推荐指数
1
解决办法
1435
查看次数