如何将指定CSV链接加载至spark-shell或pyspark?
如何将在线零售数据集加载到spark-shell或pyspark环境中
当然可以!这事儿其实挺简单的,我分两种环境给你一步步说明:
1. 在spark-shell(Scala环境)中加载
首先你得先启动spark-shell——打开终端,直接敲下面的命令就行:
spark-shell
启动成功后,用Spark的CSV读取器加载数据集。因为这个CSV文件带表头,而且我们希望Spark自动推断字段类型,所以要加上对应的参数:
// 加载数据集并赋值给DataFrame val retailDF = spark.read .option("header", "true") // 告诉Spark第一行是表头 .option("inferSchema", "true") // 自动推断字段的数据类型 .csv("https://raw.githubusercontent.com/databricks/Spark-The-Definitive-Guide/master/data/retail-data/all/online-retail-dataset.csv")
加载完成后,你可以验证一下数据是否正确:
retailDF.show(5) // 显示前5条数据 retailDF.printSchema() // 查看数据集的字段结构
2. 在pyspark(Python环境)中加载
同样先启动pyspark,终端输入:
pyspark
然后用Python版本的API加载,逻辑和Scala基本一致:
# 加载数据集到DataFrame retail_df = spark.read \ .option("header", "true") \ .option("inferSchema", "true") \ .csv("https://raw.githubusercontent.com/databricks/Spark-The-Definitive-Guide/master/data/retail-data/all/online-retail-dataset.csv")
验证数据的方式也类似:
retail_df.show(5) # 预览前5条记录 retail_df.printSchema() # 查看字段类型和结构
小提示
如果网络不太稳定,加载在线文件慢的话,你可以先把这个CSV文件下载到本地,然后把代码里的URL换成本地文件的路径就行,比如csv("/Users/xxx/Downloads/online-retail-dataset.csv")(换成你自己的本地路径)。
内容的提问来源于stack exchange,提问作者JP Jack
相关产品推荐
相关产品推荐

