SparkDataFrame
SparkDataFrame一些api函数
一碗竹叶青
985硕士研究生,AI算法工程师,任职于腾讯,百度等公司,希望充当AI布道者,用最通俗易懂的语言普及AI的原理和内核,让更多人认识AI,学习AI,使用AI。希望交流请VX:tianming608
展开
-
Libsvm格式存储
参考:https://www.it-swarm.net/zh/apache-spark/%E5%A6%82%E4%BD%95%E4%BB%8Edataframe%E5%87%86%E5%A4%87%E6%95%B0%E6%8D%AE%E5%88%B0libsvm%E6%A0%BC%E5%BC%8F%EF%BC%9F/828617867/两个步骤:1.将特征转换为LabeledPoint数据X,或者将采用vectorAssembler将特征转化为稀疏矩阵2.然后以libsvm格式保存X.// 采用v原创 2020-11-04 20:20:40 · 497 阅读 · 0 评论 -
评估指标与api
对2分类或者多分类模型的评估:// Precision by thresholdval precision = metrics.precisionByThresholdprecision.foreach { case (t, p) => println(s"Threshold: $t, Precision: $p")}// Recall by thresholdval recall = metrics.recallByThresholdrecall.foreach { case原创 2020-11-04 20:15:16 · 394 阅读 · 0 评论 -
查看dataframe的缺失值以及选取每个类目下前topN的数据
// 显示每个类目的缺失值data.select(data.columns.map(c => sum(col(c).isNull.cast("int")).alias(c)): _*).showdata.groupBy("cate1").count().show(30)println(data.count()) //3046def SortedCate(df:DataFrame): DataFrame ={// 循环类别赋值label val N = 10 val window =原创 2020-11-04 20:13:54 · 358 阅读 · 1 评论 -
spark dataframe列归一化以及读写
val embddding_seq_data = ss.read.option("sep","\t") .csv("hdfs://ss-sng-dc-v2/stage/outface/SNG/g_sng_weishi_ws_growth/tdw_parkerlin/qq/feature/embedding/bert_embedding/"+endTime_1 +"/") .toDF("feedid","embedding")embddding_seq_data以tfrecode形式写入hdfs原创 2020-11-04 20:12:40 · 1549 阅读 · 0 评论 -
addFile函数addJar函数
https://www.iteblog.com/archives/1704.html我们在使用Spark的时候有时候需要将一些数据分发到计算节点中。一种方法是将这些文件上传到HDFS上,然后计算节点从HDFS上获取这些数据。当然我们也可以使用addFile函数来分发这些文件。addFile方法可以接收本地文件(或者HDFS上的文件),甚至是文件夹(如果是文件夹,必须是HDFS路径),然后Spark的Driver和Exector可以通过SparkFiles.get()方法来获取文件的绝对路径(Get th原创 2020-11-04 20:10:18 · 1461 阅读 · 0 评论 -
RDD、Dataframe和Dataset
RDDRDD是spark建立的核心API,是一种由容错机制的特殊集合。提供分布式low-level API来操作,包括transformation和actionRDD 缺点:无论是集群间的通信,还是IO操作都需要对对象的结构和数据进行序列化和反序列化。频繁地创建和销毁对象,势必会增加 GC 开销 。Dataset/DataframeDataFrame也是不可变分布式弹性数据集,DataFrame 的设计是为了让大数据处理起来更容易,并做了 higher-level 的抽象 。DataFrame提原创 2020-11-04 20:20:17 · 484 阅读 · 0 评论