<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[xiaoxiao______的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/xiaoxiao______</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; xiaoxiao______]]></copyright><item><title><![CDATA[踩坑解决macOS Ventura13.0.1安装mysql8.0.32修改密码]]></title><link>https://blog.youkuaiyun.com/xiaoxiao______/article/details/130248768</link><guid>https://blog.youkuaiyun.com/xiaoxiao______/article/details/130248768</guid><author>xiaoxiao______</author><pubDate>Wed, 19 Apr 2023 17:21:28 +0800</pubDate><description><![CDATA[macOS Ventura13.0.1使用 brewhome 安装mysql8.0.32，安装好之后是没有密码的，需要进入mysql进行密码修改，这是固定步骤了。但是这次安装之后，进去按照之前的修改方法，竟然报语法错误。（已经修改密码策略！查了好久，在stack overflow上找到了外国友人的解决方法，是因为不知道啥时候 password()不能用了，需要改成caching_sha2_password。按道理就是这样的方式啊。]]></description><category></category></item><item><title><![CDATA[国内maven仓库]]></title><link>https://blog.youkuaiyun.com/xiaoxiao______/article/details/120511711</link><guid>https://blog.youkuaiyun.com/xiaoxiao______/article/details/120511711</guid><author>xiaoxiao______</author><pubDate>Mon, 27 Sep 2021 16:35:32 +0800</pubDate><description><![CDATA[&lt;!-- 阿里云中央仓库 159行 --&gt;
    &lt;mirror&gt;
      &lt;id&gt;alimaven&lt;/id&gt;
      &lt;mirrorOf&gt;central&lt;/mirrorOf&gt;
      &lt;name&gt;aliyun maven&lt;/name&gt;
      &lt;url&gt;http://maven.aliyun.com/nexus/content/repositories/central/&lt;/u]]></description><category></category></item><item><title><![CDATA[impala查询报错：TFetchResultsResp(status=TStatus(errorCode=None, errorMessage=‘UDF ERROR: Decimal express]]></title><link>https://blog.youkuaiyun.com/xiaoxiao______/article/details/120485770</link><guid>https://blog.youkuaiyun.com/xiaoxiao______/article/details/120485770</guid><author>xiaoxiao______</author><pubDate>Sun, 26 Sep 2021 11:45:42 +0800</pubDate><description><![CDATA[在使用impala查询的时候，在使用cast函数将数据转为decimal类型时，会报错：
Bad status for request TFetchResultsReq(fetchType=0, operationHandle=TOperationHandle(hasResultSet=True, modifiedRowCount=None, operationType=0, operationId=THandleIdentifier(secret='\xc8\xc1j\xfe\xd6.B\xa2\x9e\]]></description><category></category></item><item><title><![CDATA[sparkStreaming报错Failed to send RPC 6254780973500208805 to /10.11.10.10:48838: java.nio.channels.Clos]]></title><link>https://blog.youkuaiyun.com/xiaoxiao______/article/details/115550333</link><guid>https://blog.youkuaiyun.com/xiaoxiao______/article/details/115550333</guid><author>xiaoxiao______</author><pubDate>Fri, 09 Apr 2021 15:04:04 +0800</pubDate><description><![CDATA[sparkStreaming报错Failed to send RPC 6254780973500208805 to /10.11.10.10:48838: java.nio.channels.ClosedChannelException
21/04/09 06:33:44 ERROR client.TransportClient: Failed to send RPC 6254780973500208805 to /10.11.10.10:48838: java.nio.channels.ClosedCha]]></description><category></category></item><item><title><![CDATA[一些hql]]></title><link>https://blog.youkuaiyun.com/xiaoxiao______/article/details/114682534</link><guid>https://blog.youkuaiyun.com/xiaoxiao______/article/details/114682534</guid><author>xiaoxiao______</author><pubDate>Thu, 11 Mar 2021 23:10:38 +0800</pubDate><description><![CDATA[ODS层加载数据脚本
#!/bin/bash

APP=gmall
hive=/opt/module/hive/bin/hive

# 如果是输入的日期按照取输入日期；如果没输入日期取当前时间的前一天
if [ -n "$2" ] ;then
    do_date=$2
else 
    do_date=`date -d "-1 day" +%F`
fi

sql1=" 
load data inpath '/origin_data/$APP/db/order_info/$do_date' OVERWR]]></description><category></category></item><item><title><![CDATA[Cosmos简介及结合spark使用]]></title><link>https://blog.youkuaiyun.com/xiaoxiao______/article/details/114553710</link><guid>https://blog.youkuaiyun.com/xiaoxiao______/article/details/114553710</guid><author>xiaoxiao______</author><pubDate>Mon, 08 Mar 2021 22:30:56 +0800</pubDate><description><![CDATA[从Cosmos批量读取数据到Spark
// Import Necessary Libraries
import com.microsoft.azure.cosmosdb.spark.schema._
import com.microsoft.azure.cosmosdb.spark._
import com.microsoft.azure.cosmosdb.spark.config.Config

// Read Configuration
val readConfig = Config(Map(
  "]]></description><category></category></item><item><title><![CDATA[大数据面试题 -- 05]]></title><link>https://blog.youkuaiyun.com/xiaoxiao______/article/details/111504308</link><guid>https://blog.youkuaiyun.com/xiaoxiao______/article/details/111504308</guid><author>xiaoxiao______</author><pubDate>Tue, 22 Dec 2020 11:24:36 +0800</pubDate><description><![CDATA[1、hive的数据倾斜
现象：
在执行MR任务的时候，大多数的reduce节点都执行完毕，而只有几个reduce节点运行很慢或者一直卡在99%，导致整个MR任务运行很慢。
原因：
这是因为某一个或几个key的数据量要比其他key要多很多，导致这一个reduce节点运行很慢
key分布不均匀
sql语句本身就会倾斜
业务导致
建表考虑不周
解决思路：
1、在map阶段解决
2、对key进行操作
解决方法：
1、使用combine方法在map端提前进行一个reduce计算，大大减少到reduce端时的数据量。但]]></description><category></category></item><item><title><![CDATA[大数据面试题 -- 06]]></title><link>https://blog.youkuaiyun.com/xiaoxiao______/article/details/111367255</link><guid>https://blog.youkuaiyun.com/xiaoxiao______/article/details/111367255</guid><author>xiaoxiao______</author><pubDate>Sat, 19 Dec 2020 09:35:32 +0800</pubDate><description><![CDATA[1、数仓分层的作用
2、每层的作用
3、hive和mysql的区别
Hive 和数据库除了拥有类似的查询语言，再无类似之处。
1、数据存储位置
Hive 存储在 HDFS 。数据库将数据保存在块设备或者本地文件系统中。
2、数据更新
Hive中不建议对数据的改写。而数据库中的数据通常是需要经常进行修改的，
3、执行延迟
Hive 执行延迟较高。数据库的执行延迟较低。当然，这个是有条件的，即数据规模较小，当数据规模大到超过数据库的处理能力的时候，Hive的并行计算显然能体现出优势。
4、数据规模
Hive支持]]></description><category></category></item><item><title><![CDATA[大数据面试题 -- 04]]></title><link>https://blog.youkuaiyun.com/xiaoxiao______/article/details/111307352</link><guid>https://blog.youkuaiyun.com/xiaoxiao______/article/details/111307352</guid><author>xiaoxiao______</author><pubDate>Thu, 17 Dec 2020 21:35:45 +0800</pubDate><description><![CDATA[1、hdfs的写流程
1、client调用分布式文件系统对象通过RPC协议连接namenode，调用create方法在namenode上创建一个新文件，此时文件中是没有数据的
2、namenode会对client进行权限检查，和检查这个文件是否存在，如果通过检查，返回client一个输出流对象，如果没通过则返回IOExceptiion
3、通过检查后，client向namenode请求上传节点，namenode根据机架感知策略返回副本数个datanode（一般为3个），client将这些节点连接起来形成一个]]></description><category></category></item><item><title><![CDATA[StructuredStreaming -- 01 【概述，编程模型，source，sink】]]></title><link>https://blog.youkuaiyun.com/xiaoxiao______/article/details/110940935</link><guid>https://blog.youkuaiyun.com/xiaoxiao______/article/details/110940935</guid><author>xiaoxiao______</author><pubDate>Wed, 09 Dec 2020 21:51:24 +0800</pubDate><description><![CDATA[文章目录Structured Streaming1、 回顾1.1、Spark 编程模型的进化过程总结1.2、Spark 的 序列化 的进化过程1.2.1、 什么是序列化和序列化?1.2.2、 在 `Spark` 中的序列化和反序列化的应用场景1.2.3、 RDD 的序列化1.2.4、 DataFrame 和 Dataset 中的序列化总结1.3、Spark Streaming 和 Structured Streaming2、 Structured Streaming 入门案例2.1、需求梳理2.2、 代码实]]></description><category></category></item><item><title><![CDATA[SparkStreaming -- 03 【window函数，与SparkSQL的整合】]]></title><link>https://blog.youkuaiyun.com/xiaoxiao______/article/details/110880093</link><guid>https://blog.youkuaiyun.com/xiaoxiao______/article/details/110880093</guid><author>xiaoxiao______</author><pubDate>Tue, 08 Dec 2020 19:33:12 +0800</pubDate><description><![CDATA[文章目录1、window函数操作1.1、 window函数的简介1.2、 常用的窗口函数1.3、 案例演示：1.3.1、1.3.2、1.3.3、2、sparkStreaming和SparkSQL的整合
1、window函数操作
1.1、 window函数的简介


SparkStreaming提供了滑动窗口的操作。这样的话，就可以计算窗口内的n个micro-batch的数据，进行聚合.
窗口有两个参数：

窗口大小：指的就是有几个单位时间（time unit）的micro-batch
滑动周期：类似于定时器]]></description><category></category></item><item><title><![CDATA[SparkStreaming -- 02 【SparkStreaming和kafka的整合的offset的维护，常用算子】]]></title><link>https://blog.youkuaiyun.com/xiaoxiao______/article/details/110824591</link><guid>https://blog.youkuaiyun.com/xiaoxiao______/article/details/110824591</guid><author>xiaoxiao______</author><pubDate>Mon, 07 Dec 2020 19:37:44 +0800</pubDate><description><![CDATA[文章目录1、SparkStreaming与kafka的整合1.1、 比较1.2、 maven依赖1.3、 案例11.4、 使用0-10的Direct方法的优点1.5 、 两种自动维护offset的说明1.5.1、 0-8的receiver如何自动维护offset的图解1.5.2 、 0-10如何自动维护offset的图解1.6、 使用zookeeper手动维护offset1.7、 使用redis手动维护offset2、SparkStreaming的常用转换算子2.1 、常用算子简介2.1.1、 常用的转换算]]></description><category></category></item><item><title><![CDATA[Kafka+Spark Streaming管理offset的两种方法]]></title><link>https://blog.youkuaiyun.com/xiaoxiao______/article/details/110825207</link><guid>https://blog.youkuaiyun.com/xiaoxiao______/article/details/110825207</guid><author>xiaoxiao______</author><pubDate>Mon, 07 Dec 2020 19:09:26 +0800</pubDate><description><![CDATA[网址

]]></description><category></category></item><item><title><![CDATA[SparkStreaming -- 01 【概述，案例，和hdfs的整合，和kafka的整合】]]></title><link>https://blog.youkuaiyun.com/xiaoxiao______/article/details/110790880</link><guid>https://blog.youkuaiyun.com/xiaoxiao______/article/details/110790880</guid><author>xiaoxiao______</author><pubDate>Mon, 07 Dec 2020 17:54:03 +0800</pubDate><description><![CDATA[1、SparkStreaming的概述
1.1、什么是流式计算
1、流式计算就是对数据流进行处理，是实时计算
2、数据流值的是动态的数据，是不断产生的，没有边界，源源不断
3、流式计算中的计算逻辑不止计算一次，是要一致循环计算的（计算不能终止，除非停止作业）
流式计算又分为准实时和实时
准实时：是介于实时和离线之间，每一次处理的数据要比实时的多，比离线的少很多，微批处理
实时：指的是一条记录就（一个事件event）启动一次计算
常见的流式计算框架
storm：第一代流式处理框架，每生成一条记录就提交一次作业]]></description><category></category></item><item><title><![CDATA[Kafka启动后过一会儿自动挂掉]]></title><link>https://blog.youkuaiyun.com/xiaoxiao______/article/details/110818963</link><guid>https://blog.youkuaiyun.com/xiaoxiao______/article/details/110818963</guid><author>xiaoxiao______</author><pubDate>Mon, 07 Dec 2020 17:22:18 +0800</pubDate><description><![CDATA[meta.properties中的broker.id和server.properties中的不一致
meta.properties文件位置在自己设置的server.properties中 log.dirs=。。。 的目录下

我的设置路径是这个：log.dirs=/usr/local/kafka/data/kafka-logs
所以meta.properties在kafka-logs下！

...]]></description><category></category></item><item><title><![CDATA[大数据面试题 -- 03]]></title><link>https://blog.youkuaiyun.com/xiaoxiao______/article/details/110621873</link><guid>https://blog.youkuaiyun.com/xiaoxiao______/article/details/110621873</guid><author>xiaoxiao______</author><pubDate>Fri, 04 Dec 2020 18:03:51 +0800</pubDate><description><![CDATA[1、hive开启map端join的参数，以及其他优化参数
map端join适合优化小表join大表的情况（写sql时将小表作为驱动表，也就是select a from b  join c  on b.id=c.id  --&gt;b 为小表，写左边）

mapjoin优化适合小表join大表

set hive.optimize.skewjoin=true; //有数据倾斜时开启负载均衡，默认false
set hive.auto.convert.join=true; //设置自动选择MapJoin，默认是]]></description><category></category></item><item><title><![CDATA[Redis -- 01 【简介，特点，搭建，shell，数据类型】]]></title><link>https://blog.youkuaiyun.com/xiaoxiao______/article/details/110558170</link><guid>https://blog.youkuaiyun.com/xiaoxiao______/article/details/110558170</guid><author>xiaoxiao______</author><pubDate>Thu, 03 Dec 2020 21:13:23 +0800</pubDate><description><![CDATA[1、Redis的简介
1.1、NoSql

NoSql 是Not-Only Sql的简写，泛指非关系型数据库
关系型数据库不太适合存储非结构化的大数据(现在的非结构化的数据占比90%)，所以提出了一个新的数据库解决方案，来存储这样的数据。
NoSql的分类

键值对模型的NoSQL：Tokyo、Cabinet/Tyrant、Redis、Voldemort、Berkeley DB
应用场景：内容缓存，主要用于处理大量数据的高访问负载
优势：快速查询
劣势：存储的数据缺少结构化
列式模型的NoSQL:Cassa]]></description><category></category></item><item><title><![CDATA[大数据面试题 -- 01]]></title><link>https://blog.youkuaiyun.com/xiaoxiao______/article/details/110419556</link><guid>https://blog.youkuaiyun.com/xiaoxiao______/article/details/110419556</guid><author>xiaoxiao______</author><pubDate>Wed, 02 Dec 2020 20:01:38 +0800</pubDate><description><![CDATA[1、讲一下数仓吧。
数仓是一个面向主题的，集成的，相对稳定的，反映历史变化的一个数据仓库，主要用于支持管理决策。
面向主题：数仓中的数据是按照主题进行存储的，每一个主题都是决策层分析的一个角度。
集成的：不管什么来源的数据都会统一放到数仓中。并且格式，单位，名称等要统一。
相对稳定：数据一旦进入数仓中一般不会轻易改变。就算改变也不改变原数据，只是会根据需求重新考虑数据的更新策略。
反映历史变化的：时间维度是数仓中很重要的一个维度，数仓中的数据时间跨度会很大，可能有几年到十几年，能反映历史变化。
2、数仓分层]]></description><category></category></item><item><title><![CDATA[大数据面试题 -- 02]]></title><link>https://blog.youkuaiyun.com/xiaoxiao______/article/details/110466608</link><guid>https://blog.youkuaiyun.com/xiaoxiao______/article/details/110466608</guid><author>xiaoxiao______</author><pubDate>Wed, 02 Dec 2020 20:01:10 +0800</pubDate><description><![CDATA[1、kafka出现消息堆积怎么办？
1、最简单的原因：消费者太少，增加消费者来解决
2、还有一个原因就是消费者每次poll的数据业务处理时间不能超过kafka的max.poll.interval.ms，该参数在kafka 0.10.2.1 中的默认值是300s，所以要综合业务数据来设置每次poll的数据量。
2、kafka如何实现高吞吐？
顺序读写
在硬盘中采用顺序读写的方式，性能损耗不大
零拷贝
“零拷贝技术”只用将磁盘文件的数据复制到页面缓存中一次，然后将数据从页面缓存直接发送到网络中（发送给不同的订阅]]></description><category></category></item><item><title><![CDATA[Kafka -- 03 【主题，生产者，消费者（java/scala）的实现，自定义分区器】]]></title><link>https://blog.youkuaiyun.com/xiaoxiao______/article/details/110452048</link><guid>https://blog.youkuaiyun.com/xiaoxiao______/article/details/110452048</guid><author>xiaoxiao______</author><pubDate>Tue, 01 Dec 2020 22:03:58 +0800</pubDate><description><![CDATA[文章目录1、API创建主题1.1、java实现1.2、scala实现2、API创建生产者2.1、java实现2.2、scala实现3、API创建消费者3.1、java实现3.2、scala实现4、自定义分区器4.1、随机分区器4.2、Hash分区器4.3、轮询分区器
1、API创建主题
1.1、java实现
package KafkaDay02;

import kafka.utils.ZkUtils;
import org.apache.kafka.clients.admin.AdminClient;
i]]></description><category></category></item></channel></rss>