downloads dados da internet

Você pode usar o Databricks Notebook para downloads dados de URLs públicos para armazenamento de volume anexado ao driver de seus clusters. Se você estiver acessando dados do armazenamento de objetos clouds , acessar os dados diretamente com o Apache Spark fornecerá melhores resultados. Consulte Conectar-se à fonte de dados.

Os clusters do Databricks fornecem compute geral, permitindo a execução de código arbitrário, além do comando do Apache Spark. Como o comando arbitrário é executado no diretório raiz dos clusters em vez de no DBFS root, o senhor deve mover os dados de downloads para um novo local antes de lê-los com o Apache Spark.

Observação

Algumas configurações workspace podem impedir o acesso à Internet pública. Consulte o administrador workspace se precisar de acesso expandido à rede.

downloads um arquivo com Bash, Python ou Scala

O Databricks não fornece nenhuma ferramenta nativa para downloads de dados da Internet, mas você pode usar ferramentas de código aberto em idiomas com suporte. Os exemplos a seguir usam pacotes para Bash, Python e Scala para downloads o mesmo arquivo.

%sh curl https://data.cityofnewyork.us/api/views/kk4q-3rt2/rows.csv --output /tmp/curl-subway.csv
import urllib
urllib.request.urlretrieve("https://data.cityofnewyork.us/api/views/kk4q-3rt2/rows.csv", "/tmp/python-subway.csv")
import java.net.URL
import java.io.File
import org.apache.commons.io.FileUtils

FileUtils.copyURLToFile(new URL("https://data.cityofnewyork.us/api/views/kk4q-3rt2/rows.csv"), new File("/tmp/scala-subway.csv"))

Como esses arquivos downloads para o armazenamento de volume anexado ao driver, use %sh para ver esses arquivos, como no exemplo a seguir:

%sh ls /tmp/

Você pode usar comandos Bash para visualizar o conteúdo dos downloads de arquivos dessa maneira, como no exemplo a seguir:

%sh head /tmp/curl-subway.csv

Movendo dados com dbutils

Para acessar dados com o Apache Spark, mova-os de seu local atual. A localização atual desses dados está no armazenamento de volume efêmero que só é visível para o driver. O Databricks carrega dados de fontes de arquivo em paralelo e, portanto, os arquivos devem estar visíveis para todos os nós no ambiente compute . Embora o Databricks ofereça suporte a uma ampla variedade de fontes de dados externas, o acesso a dados baseado em arquivo geralmente pressupõe acesso ao armazenamento de objetos clouds . Consulte Conectar-se à fonte de dados.

As utilidades do Databricks (dbutils) permitem que você mova arquivos do armazenamento de volume anexado ao driver para outros locais acessíveis com o DBFS, incluindo locais de armazenamento de objetos externos aos quais você configurou o acesso. O exemplo a seguir move os dados para um diretório na DBFS root, um local de armazenamento de objeto cloud configurado durante a implementação inicial workspace .

dbutils.fs.mv("file:/tmp/curl-subway.csv", "dbfs:/tmp/subway.csv")

Lendo dados downloads

Depois de mover os dados para o armazenamento de objetos cloud , você pode ler os dados normalmente. O código a seguir lê os dados CSV movidos para a DBFS root.

df = spark.read.format("csv").option("header", True).load("/tmp/subway.csv")
display(df)