【问题标题】:Spark's .tgz File cannot be extracted on Google Colab?在 Google Colab 上无法提取 Spark 的 .tgz 文件?
【发布时间】:2022-10-04 17:10:29
【问题描述】:

运行这些似乎有效:

# Download Java Virtual Machine (JVM)
!apt-get install openjdk-8-jdk-headless -qq > /dev/null
!wget -q https://dlcdn.apache.org/spark/spark-3.3.0/spark-3.3.0-bin-hadoop3.tgz

然后以下行不起作用并产生此错误:

!tar xf spark-3.3.0-bin-hadoop3.tgz

gzip: stdin: not in gzip format
tar: Child returned status 1
tar: Error is not recoverable: exiting now

当我执行!pwd 时,我与spark-3.3.0-bin-hadoop3.tgz 所在的文件夹位于同一个文件夹中。

这是一个屏幕截图:

【问题讨论】:

  • 当我尝试使用 colab 时,这非常有效。
  • @samkart 我附上了我的错误的屏幕截图
  • 不要将解决方案编辑到问题中。将其发布为答案。

标签: apache-spark pyspark google-colaboratory


【解决方案1】:

我认为你应该从wget 命令中删除-q 标志,看看发生了什么。

问题是,我只能通过以下操作重现您的问题:

  1. 假设我不小心尝试从以下链接(重定向链接)下载 Spark:
    !wget -q https://www.apache.org/dyn/closer.lua/spark/spark-3.3.0/spark-3.3.0-bin-hadoop3.tgz
    

    上面的命令下载了文件,但它基本上是html,只有文件名spark-3.3.0-bin-hadoop3.tgz

    1. 还假设后来我发现了我的错误,并决定从正确的链接下载。我删除了 -q 标志以显示正在发生的事情:
    !wget https://dlcdn.apache.org/spark/spark-3.3.0/spark-3.3.0-bin-hadoop3.tgz
    2022-09-12 12:03:09 (224 MB/s) - ‘spark-3.3.0-bin-hadoop3.tgz.1’ saved [299321244/299321244]
    

    由于我已经有了 spark-3.3.0-bin-hadoop3.tgz 文件,wget 使用另一个文件名下载。

    1. 所以,当我尝试解压文件时,基本上我是在尝试解压第一个下载的文件,即错误的文件:
    !tar xf spark-3.3.0-bin-hadoop3.tgz
    
    gzip: stdin: not in gzip format
    tar: Child returned status 1
    tar: Error is not recoverable: exiting now
    

【讨论】:

  • 不幸的是,错误仍然存​​在 - 我已经更新了上面没有-q 标志的屏幕截图。
  • 我将它重命名为spark-3.3.0-bin-hadoop3.tgz.5,它似乎工作。谢谢!