03 2022 档案
摘要:本文将介绍spark读取多列txt文件后转成DataFrame的两种方法。 数据是Spark中自带的:sample_movielens_ratings.txt //形式如下面所示 0::2::3::1424380312 0::3::1::1424380312 0::5::2::1424380312
阅读全文
摘要:用于基于某个标识符将字符串/列拆分/断开为多个,并返回列表: df_b = spark.createDataFrame([('1','ABC-07-DEF')],[ "ID","col1"]) df_b = df_b.withColumn('post_split', F.split(F.col('c
阅读全文
摘要:在Spark中创建RDD的创建方式可以分为四种: ps:本文代码基于spark on zeppelin实现 1、从集合(内存)中创建RDD 从集合中创建RDD,Spark主要提供了两个方法:parallelize和makeRDD // 使用parallelize方法 val rdd1 = sc.pa
阅读全文
摘要:具体步骤: 1、在顶部声明 Notebook 类型,必须在引入 pyecharts.charts 等模块前声明 from pyecharts.globals import CurrentConfig, NotebookType CurrentConfig.NOTEBOOK_TYPE = Notebo
阅读全文
摘要:LSH:将向量进行哈希分桶,使得原语义上相似的文本大概率被哈希到同一个桶中,同个桶内的文本可以认为是大概率是相似的。 LSH:局部敏感哈希算法,是一种针对海量高维数据的快速最近邻查找算法,主要有如下用法: 全基因组的相关研究:生物学家经常使用 LSH 在基因组数据库中鉴定相似的基因表达。 大规模的图
阅读全文
摘要:特征选择(Feature Selection)指的是在特征向量中选择出那些“优秀”的特征,组成新的、更“精简”的特征向量的过程。它在高维数据分析中十分常用,可以剔除掉“冗余”和“无关”的特征,提升学习器的性能。 一、VectorSlicer VectorSlicer 是一个转换器,它接受一个特征向量
阅读全文
摘要:一、VectorAssembler VectorAssembler 是一个转换器,它将给定的列列表组合成单个向量列。 它对于将原始特征和不同特征转换器生成的特征组合成单个特征向量很有用,以便训练 ML 模型,如逻辑回归和决策树。 VectorAssembler 接受以下输入列类型:所有数字类型、布尔
阅读全文
摘要:一、VectorIndexer VectorIndexer 帮助索引向量数据集中的分类特征。它既可以自动决定哪些特征是分类的,也可以将原始值转换为类别索引。具体来说,它执行以下操作: 获取 Vector 类型的输入列和参数 maxCategories; 根据不同值的数量决定哪些特征应该是分类的,其中
阅读全文
摘要:一、为什么要用独热编码? 在很多机器学习任务中,特征并不总是连续值,而有可能是分类值。 离散特征的编码分为两种情况: 1、离散特征的取值之间没有大小的意义,比如color:[red,blue],那么就使用one-hot编码 2、离散特征的取值有大小的意义,比如size:[X,XL,XXL],那么就使
阅读全文
摘要:一、Tokenizer和RegexTokenizer 标记化是获取文本(例如句子)并将其分解为单个术语(通常是单词)的过程。 一个简单的 Tokenizer 类提供了这个功能。 下面的示例显示了如何将句子拆分为单词序列。 RegexTokenizer 允许基于正则表达式 (regex) 匹配的更高级
阅读全文
摘要:一、TF-IDF (HashingTF and IDF) “词频-逆向文件频率”(TF-IDF)是一种在文本挖掘中广泛使用的特征向量化方法,它可以体现一个文档中词语在语料库中的重要程度。在Spark ML库中,TF-IDF被分成两部分:TF (+hashing) 和 IDF。 TF: Hashing
阅读全文
摘要:Spark读取Hive数据的方式主要有两种: 1、通过访问hive metastore的方式,这种方式通过访问hive的metastore元数据的方式获取表结构信息和该表数据所存放的HDFS路径,这种方式的特点是效率高、数据吞吐量大、使用spark操作起来更加友好。 2、通过spark jdbc的方
阅读全文
摘要:GraphX 公开了存储在图中的顶点和边的 RDD 视图。但是,由于 GraphX 在优化的数据结构中维护了顶点和边,并且这些数据结构提供了额外的功能,所以顶点和边分别返回为 VertexRDDVertexRDD 和 EdgeRDDEdgeRDD。 一、顶点RDD(VertexRDDs) Verte
阅读全文
摘要:GraphX 提供了几种从 RDD 或磁盘上的顶点和边的集合构建图的方法。 默认情况下,所有图构建器都不会重新划分图的边; 相反,边会留在它们的默认分区中(例如它们在 HDFS 中的原始块)。Graph.groupEdges 要求对图进行重新分区,因为它假定相同的边将位于同一分区上,因此您必须在调用
阅读全文
摘要:图本质上是递归数据结构,因为顶点的属性取决于其邻居的属性,而邻居的属性又取决于其邻居的属性。因此,许多重要的图算法迭代地重新计算每个顶点的属性,直到达到一个定点条件。已经提出了一系列图并行抽象来表达这些迭代算法。 GraphX 公开了 Pregel API 的一个变体。 GraphX 中的 Preg
阅读全文
摘要:正如 RDD 具有 map、filter 和 reduceByKey 等基本操作一样,属性图也具有一组基本运算符,这些运算符采用用户定义的函数并生成具有转换后的属性和结构的新图。 具有优化实现的核心算子在 Graph 中定义,在 GraphOps 中定义表示为核心算子组合的便捷算子。 然而,由于 S
阅读全文
摘要:一、概述 GraphX 是 Spark 四大核心组件之一,它也是使用 Spark 作为计算引擎的,GraphX 是用于图形和图形并行计算的组件,实现了大规模图计算的功能。GraphX 的出现使 Spark 生态系统变得更加完善和丰富,同时它能够与 Spark 生态系统的其它组件天然融合,再加上它强大
阅读全文
摘要:一、Flume概述 1.1 定义 Flume是Cloudera提供的一个高可用的,高可靠的,分布式的海量日志采集、聚合和传输的系统。Flume基于流式架构,灵活简单。 Flume在实际开发中主要的作用就是,实时的读取服务器本地磁盘的数据,将数据写入到HDFS中。 1.2 Flume架构 Agent是
阅读全文
摘要:一般情况下主机都会有默认版本的python,这不是我们需要的,可以通过python --version查看主机python默认版本: # python --version Python 2.7.5 下载需要的安装包,地址:Index of /ftp/python/ 或使用wget命令下载: # wg
阅读全文
摘要:Spark资源参数调优,其实主要就是对Spark运行过程中各个使用资源的地方,通过调节各种参数,来优化资源使用的效率,从而提升Spark作业的执行性能。 num-executors:该参数用于设置Spark作业总共要用多少个Executor进程来执行。Driver在向YARN集群管理器申请资源时,Y
阅读全文
摘要:一、Anaconda介绍 Anaconda是一个基于Python的平台,管理主要的数据科学包,包括panda、scikit-learn、SciPy、NumPy和谷歌的机器学习平台TensorFlow。它与conda(类似于pip的安装工具)、Anaconda导航器(用于GUI体验)和spyder(用
阅读全文
摘要:报错如下: Could not fetch URL https://pypi.org/simple/pyspark/: There was a problem confirming the ssl certificate: HTTPSConnectionPool(host='pypi.org', p
阅读全文