ð的基本命令可以在笔记本中与Spark一起使用,例如独立群集
ð相关内容
您可以找到相关的帖子:
您可以在:
ðº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-说谢谢,付出并分享是否有帮助/兴趣ððð
ð相关内容
您可以找到相关的帖子:
您可以在:
ðºYouTube
您可以在:
ð±− GitHub
您可以与我联系:
ð§ -LinkedIn