一、          前置词1.前置词是一种不变词类,本身没有独立的词汇意义,在句中与名词、形容词、动词等连用,表示词与词之间的各种语法关系。a, ante, bajo, con, contra, de, desde, en, entre, hacia, hasta, para, por, según, s            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-01-20 12:16:22
                            
                                49阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            
                    上面两篇大部分介绍的都是理论知识,希望看到前两篇的都读读。读一遍 不容易理解现在这一篇是介绍api操作的。相对来说容易些也是方便我自己记忆。 
RDD的两种类型操作有哪两种操作呢?分别是transformation ,action 也是我们上面所说的转换 和行动。   Transformations 使用的是常用的api操作还有很多可能            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-01-16 16:17:09
                            
                                46阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            SQL语句的执行顺序,学了才知道还有这么多学问查询语句都是从 FROM 开始执行的。执行过程中,每个步骤都会为下一个步骤生成一个虚拟表,这个虚拟表将作为下一个执行步骤的输入。具体解析FROM 执行笛卡尔积FROM 才是 SQL 语句执行的第一步,并非 SELECT 。对FROM子句中的前两个表执行笛卡尔积(交叉联接),生成虚拟表VT1,获取不同数据源的数据集。FROM子句执行顺序为从后往前、从右到            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-06-27 21:18:43
                            
                                117阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            # 如何实现“Spark 不走分区”
## 流程概述
为了让Spark不走分区,我们可以通过设置shuffle.partitions参数为1来实现。具体的步骤如下表所示:
| 步骤 | 操作 |
|------|------|
| 1    | 创建SparkSession |
| 2    | 读取数据 |
| 3    | 对数据进行处理 |
| 4    | 设置shuffle.part            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2024-06-20 03:22:46
                            
                                45阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            Join如何避免shuffle在我们使用Spark对数据进行处理的时候最让人头疼的就是业务上复杂的逻辑,而这些逻辑往往不是map算子就能解决的,不是aggragate就是join操作,而这些操作又伴随着shuffle极大地影响了程序执行过程的性能开销。今天我们来讨论下在使用join的时候如何避免shuffle的发生。一般我们直接使用join的时候都是触发commen join,这种join操作会触            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-08-17 17:19:09
                            
                                190阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            随着互联网的更进一步发展,信息浏览、搜索以及电子商务、互联网旅游生活产品等将生活中的流通环节在线化,对于实时性的要求进一步提升,而信息的交互和沟通正在从点对点往信息链甚至信息网的方向发展,这样必然带来数据各个维度的交叉关联,数据爆炸也不可避免,因此流式处理应运而生,解决实时框架问题,助力大数据分析。kafka是一个高性能的流式消息队列,适用于大数据场景下的消息传输、消息处理和消息存储,kafka可            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-08-04 17:53:37
                            
                                95阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
             思路:通过开窗函数进行分组,然后实现topN的排序OVER函数按需求查询数据:(1)查询在 2017 年 4 月份购买过的顾客及总人数(2) 查询顾客的购买明细及月购买总额(3)将每个顾客的 cost 按照日期进行累加(4)查看顾客上次的购买时间(5) 查询前 20%时间的订单信息RANK函数使用rank()函数进行排序:使用DESENS_RANK():使用ROW_NUMBER(): OVER函            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-02-29 23:30:16
                            
                                31阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            以{1, 2, 3, 3}的RDD为例:函数名目的示例结果map()将函数应用于 RDD 中的每个元素,将返回值构成新的 RDDrdd.map(x => x + 1){2, 3, 4, 4}flatMap()将函数应用于 RDD 中的每个元素,将返回的迭代器的所有内容构成新的 RDD。通常用来切分单词rdd.flatMap(x => x.to(3)){1, 2, 3, 2, 3, 3,            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-08-12 15:24:16
                            
                                53阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            # Hive和Spark不走分区
在大规模数据处理中,分区是一种常用的数据组织方式,可以提高查询效率和降低I/O开销。然而,在某些情况下,Hive和Spark的分区策略可能会导致性能下降,因此我们需要考虑不走分区的处理方式。
## 什么是分区
在Hive和Spark中,分区是将数据按照某个字段的值进行划分,将数据分散存储在不同的目录或文件中。例如,我们有一个包含用户信息的表,可以按照用户所在            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2023-08-11 09:52:38
                            
                                104阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            # 从JSON中创建Spark DataFrame
## 简介
在大数据处理中,Apache Spark是一个非常流行的开源框架,它提供了快速、通用的数据处理能力。在使用Spark进行数据处理的过程中,我们经常需要将数据从不同的格式转换成Spark可识别的数据结构,比如从JSON格式转换成DataFrame。本文将介绍如何从JSON数据中创建Spark DataFrame,并给出相应的代码示例            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2024-05-05 05:32:37
                            
                                31阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            # 使用Spark实现from_json的流程
## 1. 简介
在Spark中,from_json函数用于将JSON字符串解析为结构化的数据。它可以将JSON数据转换为指定的结构,并在后续操作中进行查询和转换。本文将介绍如何使用Spark实现from_json函数,并为刚入行的小白提供详细的步骤和代码示例。
## 2. 整体流程
下面是实现"spark from_json"的整体流程,我们将            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2023-10-12 05:13:44
                            
                                293阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            先说明一下,这里说的Hive on Spark是Hive跑在Spark上,用的是Spark执行引擎,而不是MapReduce,和Hive on Tez的道理一样。  从Hive 1.1版本开始,Hive on Spark已经成为Hive代码的一部分了,并且在spark分支上面,可以看这里https://github.com/apache/hive/tree/spark,并会定期的移到master分            
                
         
            
            
            
             依赖: <!-- https://mvnrepository.com/artifact/org.apache.spark/spark-hive -->
        <dependency>
            <groupId>org.apache.spark</groupId>
            <artifactI            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-07-03 17:01:46
                            
                                116阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            一、转json串1. dataframe转成json串// 1 获取SparkSession
val spark = SparkSession
  .builder()
  .appName("spark_demo")
  .master("local[3]")
  .getOrCreate()
import spark.implicits._
// 2 构造数据源
val arr = Arra            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-06-08 00:52:58
                            
                                625阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            一.引言当一个分布式任务中一个文件需要在全局使用时,最常见的方法就是使用广播的形式,在dirver端读取随后分发到excutor,这里需要的时间是1) dirver端读取文件时间2) 广播分发到各excutor的时间当文件大小逐渐增加到一个阈值,或者内存资源有瓶颈时,广播的时间就会变长,这时候就需要和下面这种方式进行比较,看哪种方式时间最快1) --files 添加文件2) 直接在excutor读            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-07-11 22:05:08
                            
                                120阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            作者:祝威廉在做内部培训的时候,我讲了这么一句:一个Job里的Stage都是串行的,前一个Stage完成后下一个Stage才会进行。显然上面的话是不严谨的。看如下的代码:         这里的话,我们构建了两个输入(input1,input2),input2带有一个reduceByKey,所以会产生一次Shuffle,接着进行Join,会产生第二            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-12-07 20:04:17
                            
                                79阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            # Spark HQL 不走分区裁剪
在使用Spark进行数据处理时,我们经常会使用HiveQL来操作数据。其中,一种优化数据查询的方式是通过分区裁剪,即仅查询包含目标数据的分区,而不需要扫描所有分区。然而,并非所有情况下Spark会执行分区裁剪,有时会出现不走分区裁剪的情况。
## 为什么Spark HQL不走分区裁剪
Spark HQL不走分区裁剪的情况通常是由于查询条件中的谓词无法被S            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2024-06-28 06:00:32
                            
                                59阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            # 用Spark将毫秒时间戳转换为日期时间
在大数据处理中,常常需要对时间戳进行转换,以便于分析和处理。Apache Spark 提供了许多强大的函数来处理时间和日期,其中一个常用函数是 `from_timestamp`。本文将介绍如何使用 `from_timestamp` 函数将毫秒时间戳转换为日期时间,并提供相关代码示例。
## 时间戳与毫秒
时间戳通常表示从1970年1月1日00:00            
                
         
            
            
            
            # 从DataFrame中提取Series
在Spark中,DataFrame是一种数据结构,类似于关系型数据库中的表格。它是由行和列组成的,每列具有特定的数据类型。有时候,我们需要从DataFrame中提取出某一列的数据,这时就可以使用Series来实现。
## 什么是Series
在Spark中,Series是一种列数据结构,它包含了数据以及数据的索引。在Python中,Series可以            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2024-05-11 07:19:13
                            
                                38阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            ## 从JSON数据创建Spark SQL表格
### 1. 简介
在Spark中,我们可以从JSON数据创建Spark SQL表格。这允许我们使用Spark SQL的强大功能进行数据分析。在本文中,我将向你展示如何使用Spark将JSON数据加载为Spark SQL表格。
### 2. 流程图
下面是从JSON数据创建Spark SQL表格的流程图:
```mermaid
graph            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2023-12-07 07:13:12
                            
                                79阅读