如何使用笔记本电脑工作/安装火花?
#python #云 #datascience #bigdata

ð的基本命令可以在笔记本中与Spark一起使用,例如独立群集


ð相关内容

您可以找到相关的帖子:

ðGoogle Collab

您可以在:

ðºYouTube

您可以在:

ð±− GitHub

您可以与我联系:

ð§ -LinkedIn


简历ð§¾

我将安装Spark程序,并将使用Python库来编写一个回答问题的作业,每个评分都存在多少行?

启动之前,我们设置环境以运行Spark独立群集。


第一 - 安装Google驱动器ð

我们将将Google Drive安装到可以使用IT文件。

我使用以下脚本:

from google.colab import drive
drive.mount('/content/gdrive')

2nd-安装火花ð

后来收到了一个COLAB笔记本,要使Spark运行您必须运行以下脚本(我为它的丑闻深表歉意)。

我使用以下脚本:

%%bash
apt-get install openjdk-8-jdk-headless -qq > /dev/null 
if [[ ! -d spark-3.3.1-bin-hadoop3.tgz ]]; then
  echo "Spark hasn't been installed, Downloading and installing!"
  wget -q https://downloads.apache.org/spark/spark-3.3.1/spark-3.3.1-bin-hadoop3.tgz
  tar xf spark-3.3.1-bin-hadoop3.tgz
  rm -f spark-3.3.1-bin-hadoop3.tgz

fi
pip install -q findspark

如果需要,您可以获得其他版本:https://downloads.apache.org/spark/,然后在以前的命令中替换。


第三 - 设置环境变量ð

我使用以下命令:

import os
os.environ["JAVA_HOME"] = "/usr/lib/jvm/java-8-openjdk-amd64"  
os.environ["SPARK_HOME"] = "/content/spark-3.3.1-bin-hadoop3"
import findspark
findspark.init()

第四-配置火花ðª

我使用以下命令:

from pyspark.sql import SparkSession
spark = SparkSession.builder \
    .master("local[*]") \ # set up like master using all(*) threads
    .appName("BLOG_XLMRIOSX") \ # a generic name
    .getOrCreate()
sc = spark.sparkContext
sc

稍后执行此操作,我们可以使用许多数据strcuture来管理数据,例如RDD和DataFrame(Spark和Pandas)。
又有一个,但仅存在于Scala中,它是数据集。


第五-将数据集带到Sparkð¾的Anlyze

我使用来自Grouplens的数据集。您可以得到其他:
http://files.grouplens.org/datasets/

这次我使用MovieLens,您可以使用以下方式下载它:

!wget http://files.grouplens.org/datasets/movielens/ml-100k.zip

使用数据提取文件。我在命令中以-d的路径中提取文件:

!unzip "/content/ml-100k.zip" -d "/content/ml-100k_folder"


第六-配置数据以分析ð¿

我们创建一个称为数据的变量,其中put路径位于数据的位置:

data = '/content/ml-100k_folder/ml-100k/u.data'

后来定义一个称为df_spark的变量,其中包含数据的信息:

df_spark = spark.read.csv(data, inferSchema=True, header=True)

我们可以检查可变df_spark的类型:

print(type(df_spark))

我们可以检查可变df_spark的数据框架,例如:

df_spark.show()

我们可以看到格式不正确,因此我们将通过以下方式来修复我们配置数据格式的位置:

df_spark = spark.read.csv(data, inferSchema=True, header=False, sep="\t")


第9-进行查询ð

为了使其需要了解数据格式,因此我推断出以下结构:

  • 第一列参考用户ID。
  • 第二列引用了Movieid。
  • 第三列参考评级。
  • 第四列引用时间戳。

我会回答这个问题,每个评级都有多少部电影...


9th-使用SQL语法进行查询âð¢

  • 首先,使用DataFrame创建一个表。

df_spark.createOrReplaceTempView("table")

  • 第二,可以使查询回答问题。

sql = spark.sql("SELECT _c2, COUNT(*) FROM table GROUP BY _c2")

查看结果:

sql.show()


9th-用dataFrame进行查询â

  • 使用DataFrame进行此查询很容易。

dataframe.groupBy("_c2").count().show()


第9-与rdd - ð§进行查询

  • 首先,我们将dataframe转换为RDD类型。

rdd = df_spark.rdd

  • 第二,用RDD函数进行查询。
rdd\
.groupBy(lambda x: x[2])\
.mapValues(lambda values: len(set(values)))\
.collect()

10-说谢谢,付出并分享是否有帮助/兴趣ððð


ð相关内容

您可以找到相关的帖子:

ðGoogle Collab

您可以在:

ðºYouTube

您可以在:

ð±− GitHub

您可以与我联系:

ð§ -LinkedIn