上传或下载,将tar文件解压缩到Data brick Spark

时间:2016-01-18 23:07:00

标签: apache-spark apache-spark-sql spark-streaming

刚开始使用Apache spark。获得了Databricks设置。 努力上传CSV& TAR文件。

val publicPCD = sqlContext
    .read.format("com.databricks.spark.csv")
    .option("header", "true")
    .option("inferSchema", "true")
    .load("s3-us-west-1.amazonaws.com/db007/Postcode+Data+for+Consumers+FINAL2.csv")

结果:

  

错误:org.apache.hadoop.mapred.InvalidInputException:输入路径不存在:/s3-us-west-1.amazonaws.com/db007/Postcode+Data+for+Consumers+FINAL2.csv

理想情况是下载TAR文件,提取CSV并进行一些分析。 好好看看这个文档https://dbc-272bf360-dc36.cloud.databricks.com/#notebook/10137 https://dbc-272bf360-dc36.cloud.databricks.com/#notebook/10758

任何帮助表示感谢。

1 个答案:

答案 0 :(得分:-1)

这是你如何做到的。

import java.net.URLEncoder
val AccessKey = getArgument("1. ACCESS_KEY", "REPLACE_WITH_YOUR_ACCESS_KEY")
val SecretKey = getArgument("2. SECRET_KEY", "REPLACE_WITH_YOUR_SECRET_KEY")
val EncodedSecretKey = SecretKey.replace("/", "%2F")
val AwsBucketName = getArgument("3. S3_BUCKET", "REPLACE_WITH_YOUR_S3_BUCKET")
val MountName = getArgument("4. MNT_NAME", "REPLACE_WITH_YOUR_MOUNT_NAME")

用自己的信息填写

 val publicPCD = sqlContext
  .read.format("com.databricks.spark.csv")
  .option("header", "true")
  .option("inferSchema", "true")
  .load(s"s3a://$AccessKey:$SecretKey@$AwsBucketName/.../...")

将最后一行更改为与存储桶位置对齐!