<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[PassionZheng的博客]]></title><description><![CDATA[持续改善/不断学习]]></description><link>https://blog.youkuaiyun.com/select_alter_drop</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; select_alter_drop]]></copyright><item><title><![CDATA[hive中bigint和string进行join出现匹配错误问题]]></title><link>https://blog.youkuaiyun.com/select_alter_drop/article/details/109439048</link><guid>https://blog.youkuaiyun.com/select_alter_drop/article/details/109439048</guid><author>select_alter_drop</author><pubDate>Sun, 01 Nov 2020 22:16:28 +0800</pubDate><description><![CDATA[在hive中，两个表进行join，on条件两表的字段含义一致（都是整数），但数据类型不一致：string和bigint。join后发现如果数值过大则匹配的记录会出现问题：一条记录会匹配出多条记录（explain可以发现都转换为double）
如：190000000002778025，就会错误的匹配上*8023 ，*8025
a）原因：Java中精度只有15至16位，当数据超过精度就会不准——也就会出现超过精度的记录join上许多不一致的记录。
bigint和string比较时会隐式地都转换成double，j]]></description><category></category></item><item><title><![CDATA[Scala隐式转换]]></title><link>https://blog.youkuaiyun.com/select_alter_drop/article/details/107234571</link><guid>https://blog.youkuaiyun.com/select_alter_drop/article/details/107234571</guid><author>select_alter_drop</author><pubDate>Thu, 09 Jul 2020 18:12:01 +0800</pubDate><description><![CDATA[隐式转换可以在不需改任何代码的情况下，扩展某个类的功能
隐式函数
当编译器第一次编译失败的时候，会在当前的环境中查找能让代码编译通过的方法，用于将类型进行转换，实现二次编译。
案例：通过隐式转化为Int类型增加方法。
class MyRichInt(val self: Int) {
    def myMax(i: Int): Int = {
        if (self &lt; i) i else self
    }

    def myMin(i: Int): Int = {
        ]]></description><category></category></item><item><title><![CDATA[大数据数仓项目总结（一）需求、技术选型、框架版本、服务器、集群规模]]></title><link>https://blog.youkuaiyun.com/select_alter_drop/article/details/105623988</link><guid>https://blog.youkuaiyun.com/select_alter_drop/article/details/105623988</guid><author>select_alter_drop</author><pubDate>Thu, 04 Jun 2020 11:24:56 +0800</pubDate><description><![CDATA[文章目录一.需求描述二.架构设计三.数据采集模块搭建四.
一.需求描述
数据仓库( Data Waehouse ) 是为企业所有决策制定过程，提供所有系统数据支持的战略集合。通过对数据仓库中数据的分析，可以帮助企业，改进业务流程、控制成本、提高产品质量等。
数据仓库，并不是数据的最终目的地，而是为数据最终的目的地做好准备。这些准备包括对数据的：清洗，转义，分类，重组，合并，拆分，统计等等。

一、...]]></description><category></category></item><item><title><![CDATA[Hive数据操作语言DML]]></title><link>https://blog.youkuaiyun.com/select_alter_drop/article/details/106410901</link><guid>https://blog.youkuaiyun.com/select_alter_drop/article/details/106410901</guid><author>select_alter_drop</author><pubDate>Thu, 28 May 2020 21:26:56 +0800</pubDate><description><![CDATA[数据导入
1.向表中装载数据(Load)
hive&gt; load data 
    &gt; [local] inpath '/opt/module/datas/student.txt' 
    &gt; [overwrite] into table default.student 
    &gt; [partition (partcol1=val1,…)];


1）load data:表示加载数据
2）local:表示从本地加载数据到hive表；否则从HDFS移动数据到hive表存储位置
3）]]></description><category></category></item><item><title><![CDATA[Hive数据定义语言DDL]]></title><link>https://blog.youkuaiyun.com/select_alter_drop/article/details/106408237</link><guid>https://blog.youkuaiyun.com/select_alter_drop/article/details/106408237</guid><author>select_alter_drop</author><pubDate>Thu, 28 May 2020 18:22:19 +0800</pubDate><description><![CDATA[Hive的数据定义语言主要包括数据库和表的创建、修改与删除，此外表层面还有内部表与外部表、分区表等的操作。
Database
1.数据库的创建
1.1 创建语法
CREATE DATABASE [IF NOT EXISTS] database_name
# 数据库备注信息
[COMMENT database_comment]
# HDFS路径
[LOCATION hdfs_path]       
# 数据库的一些参数信息
[WITH DBPROPERTIES (property_name=property]]></description><category></category></item><item><title><![CDATA[Hive数据类型]]></title><link>https://blog.youkuaiyun.com/select_alter_drop/article/details/106407473</link><guid>https://blog.youkuaiyun.com/select_alter_drop/article/details/106407473</guid><author>select_alter_drop</author><pubDate>Thu, 28 May 2020 16:32:29 +0800</pubDate><description><![CDATA[基本数据类型




Hive数据类型
对应Java数据类型
长度
例子




TINYINT
byte
1byte ，有符号整数
20


SMALINT
short
2byte，有符号整数
20


INT
int
4byte，有符号整数
20


BIGINT
long
8byte，有符号整数
20


BOOLEAN
boolean
布尔类型，true或者false
TRUE  FALSE


FLOAT
float
单精度浮点数
3.14159


DOUBLE
double
双精度浮点数
3.]]></description><category></category></item><item><title><![CDATA[Hive基本介绍]]></title><link>https://blog.youkuaiyun.com/select_alter_drop/article/details/106403891</link><guid>https://blog.youkuaiyun.com/select_alter_drop/article/details/106403891</guid><author>select_alter_drop</author><pubDate>Thu, 28 May 2020 14:42:24 +0800</pubDate><description><![CDATA[什么是Hive
Hive是由Facebook开源，用于解决海量结构化日志的数据统计工具。
Hive是基于Hadoop的一个数据仓库工具，可以将结构化的数据文件映射为一张表，并提供类SQL查询功能。
其本质是：将SQL转化成MapReduce程序

1）Hive处理的数据存储在HDFS
2）Hive分析数据底层的实现是MapReduce
3）执行程序运行在Yarn上


Hive的优缺点
1.优点
1)操作接口采用类SQL语法，提供快速开发的能力（简单、容易上手）。
2)避免了去写MapReduce，减少开发]]></description><category></category></item><item><title><![CDATA[Spark入门(二)运行模式及安装部署]]></title><link>https://blog.youkuaiyun.com/select_alter_drop/article/details/106030584</link><guid>https://blog.youkuaiyun.com/select_alter_drop/article/details/106030584</guid><author>select_alter_drop</author><pubDate>Tue, 19 May 2020 23:24:42 +0800</pubDate><description><![CDATA[上一节对Spark进行大致的介绍，包括其历史、特点以及各内置模块等方面内容，书归正题，本节就对Spark框架的安装部署进行大致的介绍。
部署Spark集群大体上分为两种模式：单机模式与集群模式。大多数分布式框架都支持单机模式，方便开发者调试框架的运行环境，但是在生产环境中，并不会使用单机模式。因此，后续会直接按照集群模式部署Spark集群。
Spark目前支持 4 种运行模式：

1）Local模式：在本地部署单个Spark服务（适用于测试）
2）Standalone模式：并非是单节点，而是使用Spark自]]></description><category></category></item><item><title><![CDATA[Spark Action行动算子]]></title><link>https://blog.youkuaiyun.com/select_alter_drop/article/details/106119619</link><guid>https://blog.youkuaiyun.com/select_alter_drop/article/details/106119619</guid><author>select_alter_drop</author><pubDate>Thu, 14 May 2020 15:58:32 +0800</pubDate><description><![CDATA[Spark Action行动算子1.reduce():聚合2.collect():以数组的形式返回数据集3.count()：返回RDD中元素个数4.countByKey()：统计每种key的个数5.first()：返回RDD中的第一个元素6.take()：返回由RDD前n个元素组成的数组7.takeOrdered()：返回该RDD排序后，前n个元素组成的数组8.aggregate()9.fold()：aggregate的简化版10.save相关的算子11.foreach()：遍历RDD中每一个元素*coll]]></description><category></category></item><item><title><![CDATA[Spark Transformation转换算子]]></title><link>https://blog.youkuaiyun.com/select_alter_drop/article/details/106073825</link><guid>https://blog.youkuaiyun.com/select_alter_drop/article/details/106073825</guid><author>select_alter_drop</author><pubDate>Thu, 14 May 2020 14:37:47 +0800</pubDate><description><![CDATA[RDD转换算子整体上分为：Value类型、双Value类型和Key-Value类型

一.Value类型
顾名思义是对单个value值进行运算的算子类型。下面主要从函数签名、功能、案例+图解三个方法介绍这几类算子。
1.map()：映射
1）函数签名：
def map[U: ClassTag](f: T =&gt; U): RDD[U]

2）功能说明
参数f是一个函数，它可以接收一个参数。当某个RDD执行map方法时，会遍历该RDD中的每一个数据项，并依次应用f函数，从而产生一个新的RDD。即，这个新RD]]></description><category></category></item><item><title><![CDATA[Spark入门(一)概述]]></title><link>https://blog.youkuaiyun.com/select_alter_drop/article/details/106029598</link><guid>https://blog.youkuaiyun.com/select_alter_drop/article/details/106029598</guid><author>select_alter_drop</author><pubDate>Sun, 10 May 2020 00:16:59 +0800</pubDate><description><![CDATA[Apache Spark 是专为大规模数据处理而设计的快速通用的计算引擎。
关于Spark首先抛出几个问题：

Spark是什么？
Spark的优势？（存在价值）
Spark主要功能？

剩下的关于Spark的框架原理与具体使用，之后再与大家介绍。
Spark是什么
Spark是一种基于内存的快速、通用、可扩展的大数据分析计算引擎。
Spark是UC Berkeley AMP lab (加州大学伯克利分校的AMP实验室)所开源的类Hadoop MapReduce的通用并行框架，拥有Hadoop MapRed]]></description><category></category></item><item><title><![CDATA[IT技术性博客的写作要点]]></title><link>https://blog.youkuaiyun.com/select_alter_drop/article/details/106028582</link><guid>https://blog.youkuaiyun.com/select_alter_drop/article/details/106028582</guid><author>select_alter_drop</author><pubDate>Sat, 09 May 2020 23:04:43 +0800</pubDate><description><![CDATA[写博客也有了一段时间，写的大多是一些类学习手册似的文章，感觉整体的技术性不是很强。为了更好的加深自己对技术理解，同时记录自己的技术升级轨迹，也为了写出更好的内容提供给大家，自己总结了一些技术性博客的写作，用以指导自己。
1.实战类：问题复盘

关键字：背景、排查、解决、防止、总结复盘

第一类是实战类的问题，描述在实际工作中的问题，解决问题的思路和技巧。
实战类的文章写作思路大概是这样子的：
背景排查解决防止
以解决某个事故或Bug为例来介绍，同时可以应声引申出某个知识点或者关键性技术。


1）背景：首先]]></description><category></category></item><item><title><![CDATA[推荐系统协同过滤算法——矩阵分解模型]]></title><link>https://blog.youkuaiyun.com/select_alter_drop/article/details/82902551</link><guid>https://blog.youkuaiyun.com/select_alter_drop/article/details/82902551</guid><author>select_alter_drop</author><pubDate>Sat, 09 May 2020 22:28:44 +0800</pubDate><description><![CDATA[文章目录3.1 简介1.推荐系统的输入1）显式反馈2）隐式反馈2.本章重点3.关联用户与物品的两种CF技术1）基于邻域的方法2）隐语义模型隐语义空间：4.本章内容3.2 预备知识符号正则化防止过拟合3.2.1 基准预测1.原理2.公式3.2.2 Netflix 数据3.2.3 隐式反馈3.3 矩阵分解模型隐语义模型实例SVD的局限SVD的突破本节内容3.3.1 SVD—Singular Value...]]></description><category></category></item><item><title><![CDATA[推荐系统协同过滤算法——基于邻域的模型]]></title><link>https://blog.youkuaiyun.com/select_alter_drop/article/details/83278996</link><guid>https://blog.youkuaiyun.com/select_alter_drop/article/details/83278996</guid><author>select_alter_drop</author><pubDate>Sat, 09 May 2020 22:23:42 +0800</pubDate><description><![CDATA[文章目录3.4 基于邻域的模型
3.4 基于邻域的模型

]]></description><category></category></item><item><title><![CDATA[LaTex常用数学符号]]></title><link>https://blog.youkuaiyun.com/select_alter_drop/article/details/80041811</link><guid>https://blog.youkuaiyun.com/select_alter_drop/article/details/80041811</guid><author>select_alter_drop</author><pubDate>Sat, 09 May 2020 22:21:02 +0800</pubDate><description><![CDATA[目录：



1. 数学符号类型
2. 字母表与普通符号
2.1 拉丁字母
2.2 希腊字母
2.3 数学重音


3.数学算子
4.二元运算符与关系符
5.括号与定界符
6.标点






  常用数学符号的 LaTeX 表示方法：网址


1. 数学符号类型


普通符号
巨算符
二元运算符
关系符
开符号
闭符号
标点
变量族 
一般是字母，与普通符号类似




2. 字母表与普通符号
...]]></description><category></category></item><item><title><![CDATA[用户体验要素—以用户为中心的产品设计]]></title><link>https://blog.youkuaiyun.com/select_alter_drop/article/details/86543567</link><guid>https://blog.youkuaiyun.com/select_alter_drop/article/details/86543567</guid><author>select_alter_drop</author><pubDate>Sat, 09 May 2020 22:16:36 +0800</pubDate><description><![CDATA[文章目录1.用户体验为何如此重要什么是用户体验：从产品设计到用户体验设计用户体验与网站2.用户体验要素3.战略层：产品目标与用户需求产品目标用户需求可用性与用户研究团队角色和流程4.范围层：功能规格和内容需求5.结构层：交互设计与信息架构6.框架层：界面设计、导航设计和信息设计7.表现层：感知设计8.要素的应用提出正确的问题
1.用户体验为何如此重要
什么是用户体验：
用户体验并不是指一件产品是如...]]></description><category></category></item><item><title><![CDATA[推荐系统——基于邻域的推荐方法综述]]></title><link>https://blog.youkuaiyun.com/select_alter_drop/article/details/82683387</link><guid>https://blog.youkuaiyun.com/select_alter_drop/article/details/82683387</guid><author>select_alter_drop</author><pubDate>Sat, 09 May 2020 22:16:17 +0800</pubDate><description><![CDATA[2.2 问题定义和符号
1.基本符号定义
2.评分预测(rating prediction)
评估预测准确性的标准：


3.最优N项(Top-N)
效果评估标准：
方法缺点：




2.3 基于邻域的推荐
2.3.1 基于用户的评分预测
1.基本策略—近邻评分的平均
2.存在问题1—近邻权重
3.存在问题2—近邻权重


2.3.2 基于用户的分类预测方法










2.2 问...]]></description><category></category></item><item><title><![CDATA[Scala异常]]></title><link>https://blog.youkuaiyun.com/select_alter_drop/article/details/105984666</link><guid>https://blog.youkuaiyun.com/select_alter_drop/article/details/105984666</guid><author>select_alter_drop</author><pubDate>Thu, 07 May 2020 23:52:19 +0800</pubDate><description><![CDATA[Scala异常Java异常处理Scala异常处理
Java异常处理
1）Java语言按照try—catch—finally的方式来处理异常
2）不管有没有异常捕获，都会执行finally，因此通常可以在finally代码块中释放资源。
3）可以有多个catch，分别捕获对应的异常，这时需要把范围小的异常类写在前面，把范围大的异常类写在后面，否则编译错误。
try {
    int a = 10;...]]></description><category></category></item><item><title><![CDATA[Scala模式匹配]]></title><link>https://blog.youkuaiyun.com/select_alter_drop/article/details/105980484</link><guid>https://blog.youkuaiyun.com/select_alter_drop/article/details/105980484</guid><author>select_alter_drop</author><pubDate>Thu, 07 May 2020 23:35:23 +0800</pubDate><description><![CDATA[Scala模式匹配一.基本语法 match case二.模式守卫三.模式匹配类型1.匹配常量2.匹配类型3.匹配数组4.匹配列表5.匹配元组6.匹配对象7.样例类四.变量声明中的模式匹配五.for表达式中的模式匹配六.偏函数中的模式匹配1.偏函数定义2.偏函数原理3.偏函数使用
Scala中的模式匹配类似于Java中的switch语法，但是scala从语法中补充了更多的功能，其功能更加强大。
一....]]></description><category></category></item><item><title><![CDATA[Scala集合]]></title><link>https://blog.youkuaiyun.com/select_alter_drop/article/details/105931648</link><guid>https://blog.youkuaiyun.com/select_alter_drop/article/details/105931648</guid><author>select_alter_drop</author><pubDate>Thu, 07 May 2020 20:07:34 +0800</pubDate><description><![CDATA[Scala集合一.集合简介1.可变集合2.不可变集合二.数组1.不可变数组：Array2.可变数组：ArrayBuffer3.不可变与可变数组的转换4.多维数组三.Seq 列表：List1.不可变 List2.可变 ListBuffer四.Set 集合1.不可变Set2.可变 mutable.Set五.Map集合1.不可变 Map2.可变 mutable.Map六.元组 Tuple七.队列 Que...]]></description><category></category></item></channel></rss>