<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[sofeld的博客]]></title><description><![CDATA[致其知，致知在格物.]]></description><link>https://blog.youkuaiyun.com/sofeld</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; sofeld]]></copyright><item><title><![CDATA[【Oracle】数据库的事务]]></title><link>https://blog.youkuaiyun.com/sofeld/article/details/102664642</link><guid>https://blog.youkuaiyun.com/sofeld/article/details/102664642</guid><author>sofeld</author><pubDate>Fri, 25 Oct 2019 11:01:40 +0800</pubDate><description><![CDATA[事务
事务(Transaction)，一般是指要做的或所做的事情。在计算机术语中是指访问并可能更新数据库中各种数据项的一个程序执行单元(unit)。在计算机术语中，事务通常就是指数据库事务。
事务的特性
事务的执行时要么都成功，要么都失败。

原子性（Atomicity）：事务作为一个整体被执行，包含在其中的对数据库的操作要么全部被执行，要么都不执行。
一致性（Consistency）：事务应确保...]]></description><category></category></item><item><title><![CDATA[【Oracle】SQL细节摘要]]></title><link>https://blog.youkuaiyun.com/sofeld/article/details/102680950</link><guid>https://blog.youkuaiyun.com/sofeld/article/details/102680950</guid><author>sofeld</author><pubDate>Fri, 25 Oct 2019 11:00:45 +0800</pubDate><description><![CDATA[ORDER BY子句的位置
在指定一条ORDER BY子句时，应该保证它是SELECT语句中最后一条子句。如果它不是最后的子句，将会出现错误消息。
ORDER BY 2，3   也可以用这样的数字代替具体哪个列这样的字段。
WHERE子句的位置
在同时使用ORDER BY和WHERE子句时，应该让ORDER BY位于WHERE之后，否则将会产生错误
何时使用引号
如果仔细观察上述WHERE子句中的...]]></description><category></category></item><item><title><![CDATA[一文读懂大数据]]></title><link>https://blog.youkuaiyun.com/sofeld/article/details/101173459</link><guid>https://blog.youkuaiyun.com/sofeld/article/details/101173459</guid><author>sofeld</author><pubDate>Sun, 22 Sep 2019 21:28:12 +0800</pubDate><description><![CDATA[大数据本身是个很宽泛的概念，Hadoop 生态圈（或者泛生态圈）基本上都是为了处理超过单机尺度的数据处理而诞生的。你可以把它比作一个厨房所以需要的各种工具。锅碗瓢盆，各有各的用处，互相之间又有重合。你可以用汤锅直接当碗吃饭喝汤，你可以用小刀或者刨子去皮。但是每个工具有自己的特性，虽然奇怪的组合也能工作，但是未必是最佳选择。
大数据，首先你要能存的下大数据。传统的文件系统是单机的，不能横跨不同的机器...]]></description><category></category></item><item><title><![CDATA[【Kafka】kafka 里面的 topic 消费情况查看]]></title><link>https://blog.youkuaiyun.com/sofeld/article/details/100593077</link><guid>https://blog.youkuaiyun.com/sofeld/article/details/100593077</guid><author>sofeld</author><pubDate>Sat, 07 Sep 2019 11:04:58 +0800</pubDate><description><![CDATA[进入 zookeeper 的客户端界面：./zkCli.sh (在 zookeeper 目录的 bin 下）

查看目录：ls /consumers

2.kafka 的 bin 目录下执行：

./kafka-consumer-groups.sh --describe --group xiothub_jtm2m_rawdata_210_xgit_m2m_jt_LOCAL --zookeeper...]]></description><category></category></item><item><title><![CDATA[【redis】为什么redis作为单线程处理却那么快]]></title><link>https://blog.youkuaiyun.com/sofeld/article/details/100087574</link><guid>https://blog.youkuaiyun.com/sofeld/article/details/100087574</guid><author>sofeld</author><pubDate>Mon, 26 Aug 2019 22:56:11 +0800</pubDate><description><![CDATA[为什么单线程处理那么快
（1）纯内存访问，redis的所有数据都是在内存里面的，内存的相应时间约在100纳秒。
（2）非阻塞IO，redis使用epoll作为IO多路复用技术的实现，在加上redis自身的事件处理模型将epoll中连接、读写、关闭都转换为事件，不在网络IO上浪费过多的时间。

（3）单线程避免了线程切换和竞态产生的消耗
单线程的好处
单线程简化的数据结构和算法的实现。
单线程避免了...]]></description><category></category></item><item><title><![CDATA[hadoop的shuffle过程]]></title><link>https://blog.youkuaiyun.com/sofeld/article/details/100068976</link><guid>https://blog.youkuaiyun.com/sofeld/article/details/100068976</guid><author>sofeld</author><pubDate>Sun, 25 Aug 2019 22:39:16 +0800</pubDate><description><![CDATA[Shuffle 的执行阶段流程
1).Collect 阶段：将 MapTask 的结果输出到默认大小为 100M 的环形缓冲区，保存的是 key/value 序列化数据，Partition 分区信息等。
2).Spill 阶段：当内存中的数据量达到一定的阀值的时候，就会将数据写入本地磁盘，在将数据写入磁盘之前需要对数据进行一次排序的操作，如果配置了 combiner，还会将有相同分区号和 key ...]]></description><category></category></item><item><title><![CDATA[nginx 目录中的 off 文件增大原因]]></title><link>https://blog.youkuaiyun.com/sofeld/article/details/100058679</link><guid>https://blog.youkuaiyun.com/sofeld/article/details/100058679</guid><author>sofeld</author><pubDate>Sat, 24 Aug 2019 23:31:20 +0800</pubDate><description><![CDATA[nginx 目录中的 off 文件增大原因
在 Nginx 的根目录，有个 off 的文件！(有的是 on)！
注意 error_log off 并不能关闭日志记录功能，它将日志文件写入一个文件名为 off 的文件中，如果你想关闭错误日志记录功能，应使用以下配置：
error_log /dev/null crit;


...]]></description><category></category></item><item><title><![CDATA[Oracle 中 concat 使用以及与 || 区别]]></title><link>https://blog.youkuaiyun.com/sofeld/article/details/99690917</link><guid>https://blog.youkuaiyun.com/sofeld/article/details/99690917</guid><author>sofeld</author><pubDate>Sat, 17 Aug 2019 11:30:16 +0800</pubDate><description><![CDATA[Oracle 中 concat 使用以及与 || 区别

CONCAT 只能连接两个字符串
The syntax for the concat function is:
concat( string1, string2 )
string1 is the first string to concatenate.
string2 is the second string to concatenate....]]></description><category></category></item><item><title><![CDATA[【Excel】csv文件打开总是乱码解决办法]]></title><link>https://blog.youkuaiyun.com/sofeld/article/details/99656535</link><guid>https://blog.youkuaiyun.com/sofeld/article/details/99656535</guid><author>sofeld</author><pubDate>Thu, 15 Aug 2019 23:56:01 +0800</pubDate><description><![CDATA[工作中，将 python 生成的中间结果文件写入 CSV，经常这么干是不是？文件保存下来后用 excel 打开，出现了乱码情况，真心烦。为什么？

CSV 是用 UTF-8 编码的，而 EXCEL 是 ANSI 编码，由于编码方式不一致导致出现乱码。明白了原因之后，我们只需要把 CSV 文件的编码方式修改成与 Excel 相同的编码方式就可以了。那怎么修改？

先将 CSV 用 txt 记事本打开...]]></description><category></category></item><item><title><![CDATA[【scala】什么是transient]]></title><link>https://blog.youkuaiyun.com/sofeld/article/details/99347795</link><guid>https://blog.youkuaiyun.com/sofeld/article/details/99347795</guid><author>sofeld</author><pubDate>Mon, 12 Aug 2019 22:26:05 +0800</pubDate><description><![CDATA[@transient 是 java 的 transient 关键字的作用，是需要实现 Serilizable 接口，@transient
是类型修饰符，只能用来修饰字段。在对象序列化过程中， / 被 transient 标记的变量不会被序列化
在 Scala 中需要使用 @transient 修饰的方法时，需要进行注册，这里是解析 json 字符串的时候使用到的。下面是一个例子

定义：
/**...]]></description><category></category></item><item><title><![CDATA[【spark】spark streaming入门——官方文档的总结]]></title><link>https://blog.youkuaiyun.com/sofeld/article/details/99123896</link><guid>https://blog.youkuaiyun.com/sofeld/article/details/99123896</guid><author>sofeld</author><pubDate>Sat, 10 Aug 2019 23:41:55 +0800</pubDate><description><![CDATA[spark streaming简介

Spark Streaming类似于Apache Storm，用于流式数据的处理。根据其官方文档介绍，Spark Streaming有高吞吐量和容错能力强等特点。Spark Streaming支持的数据输入源很多，例如：Kafka、Flume、Twitter、ZeroMQ和简单的TCP套接字等等。数据输入后可以用Spark的高度抽象原语如：map、reduce...]]></description><category></category></item><item><title><![CDATA[【hive】hive入门详解]]></title><link>https://blog.youkuaiyun.com/sofeld/article/details/98998708</link><guid>https://blog.youkuaiyun.com/sofeld/article/details/98998708</guid><author>sofeld</author><pubDate>Fri, 09 Aug 2019 22:15:59 +0800</pubDate><description><![CDATA[hive 介绍
 Apache 的顶级项目，(是一个 java 程序)
 Facebook 公司 (2008 年) 开源给 Apache 基金会！
 hive 官网: http://hive.apache.org/
 hive 到底是干什么的
  将 SQL 转换成 MapReduce 程序，并将程序提交到 YARN 集群运行，不会自动生成结果文件，
 ...]]></description><category></category></item><item><title><![CDATA[【spark】spark sql 自定义schema]]></title><link>https://blog.youkuaiyun.com/sofeld/article/details/98801346</link><guid>https://blog.youkuaiyun.com/sofeld/article/details/98801346</guid><author>sofeld</author><pubDate>Thu, 08 Aug 2019 00:11:01 +0800</pubDate><description><![CDATA[在 Spark 中可以直接读取数据文件
但是读取到的数据的每一项数据是没有数据类型的
而且不能使用数据像使用数据表中的字段名那样使用数据
可以在读取数据的时候对读取到的数据进行设置转换
设置转换后使用数据可以像使用数据库表中的字段那样
通过字段名获取数据


import java.util.Properties
import org.apache.spark.sql.types._
impor...]]></description><category></category></item><item><title><![CDATA[【spark】java.io.NotSerializableException:org.apache.hadoop.hbase.io.ImmutableBytesWritable]]></title><link>https://blog.youkuaiyun.com/sofeld/article/details/98676062</link><guid>https://blog.youkuaiyun.com/sofeld/article/details/98676062</guid><author>sofeld</author><pubDate>Tue, 06 Aug 2019 23:30:41 +0800</pubDate><description><![CDATA[java.io.NotSerializableException:org.apache.hadoop.hbase.io.ImmutableBytesWritable




错误原因是因为 ImmutableBytesWritable 不能进行序列化（在 Java 中，如果类需要序列化需要实现 Serializable）

而文件在经过网络传输时需要序列化（网络传输是二进制传输）


解决：在官方...]]></description><category></category></item><item><title><![CDATA[电商类网站的各种模块指标统计以及分析]]></title><link>https://blog.youkuaiyun.com/sofeld/article/details/98537289</link><guid>https://blog.youkuaiyun.com/sofeld/article/details/98537289</guid><author>sofeld</author><pubDate>Mon, 05 Aug 2019 23:44:45 +0800</pubDate><description><![CDATA[以下这些都是针对于电商网站的指标来分析业务的：以下这些指标都是使用 SQL 语句分析得出的结果，首先先创建一张表，然后将数据导入表中，字段根据分析的业务的需要而定，这里我的选择是我已经存在的表进行查询的，下面将给出所有查询的 SQL 语句

模块分析：
select * from web_log.weblog_etl where dateStr="20180709" limit 5;


1. 统...]]></description><category></category></item><item><title><![CDATA[【Spark】standalone运行模式]]></title><link>https://blog.youkuaiyun.com/sofeld/article/details/98475857</link><guid>https://blog.youkuaiyun.com/sofeld/article/details/98475857</guid><author>sofeld</author><pubDate>Sun, 04 Aug 2019 22:49:52 +0800</pubDate><description><![CDATA[简介：

standalone 模式，是 spark 自己实现的，它是一个资源调度框架。这里我们要关注这个框架的三个节点：

1）client
2）master
3）worker
spark 应用程序有一个 Driver 驱动，Driver 可以运行在 Client 上也可以运行在 master 上。如果你使用 spark-shell 去提交 job 的话它会是运行在 master 上的，如果你使...]]></description><category></category></item><item><title><![CDATA[Spark性能调优：RDD的复用及持久化]]></title><link>https://blog.youkuaiyun.com/sofeld/article/details/98249281</link><guid>https://blog.youkuaiyun.com/sofeld/article/details/98249281</guid><author>sofeld</author><pubDate>Fri, 02 Aug 2019 22:31:46 +0800</pubDate><description><![CDATA[避免创建重复的 RDD



通常来说，开发一个 Spark 作业时，首先是基于某个数据源（比如 Hive 表或 HDFS 文件）创建一个初始的 RDD；接着对这个 RDD 执行某个算子操作，然后得到下一个 RDD；以此类推，循环往复，直到计算出最终我们需要的结果。在这个过程中，多个 RDD 会通过不同的算子操作（比如 map、reduce 等）串起来，这个 “RDD 串”，就是 RDD lin...]]></description><category></category></item><item><title><![CDATA[HBase基于java的mapreduce模板]]></title><link>https://blog.youkuaiyun.com/sofeld/article/details/97974196</link><guid>https://blog.youkuaiyun.com/sofeld/article/details/97974196</guid><author>sofeld</author><pubDate>Wed, 31 Jul 2019 22:53:49 +0800</pubDate><description><![CDATA[public class SaleOrdersMapReducer extends Configured implements Tool {
	//原表：数据来源
    private final static String ORDERS_TABLE_NAME="ns1:orders";
    //处理后的数据，表需要提前创建
    private final static String ...]]></description><category></category></item><item><title><![CDATA[HBase | HBase 列族优化总结]]></title><link>https://blog.youkuaiyun.com/sofeld/article/details/97832603</link><guid>https://blog.youkuaiyun.com/sofeld/article/details/97832603</guid><author>sofeld</author><pubDate>Tue, 30 Jul 2019 23:23:45 +0800</pubDate><description><![CDATA[随着大数据的越来越普及，HBase 也变得越来越流行。使用 HBase 并不困难，但是如何用好 HBase，这确是一个难点。为了合理地使用 HBase，尽可能发挥 HBase 的功能，我们需要根据不同的场景对 HBase 进行不同地优化以最大程度上提升系统的性能。本文重点介绍列族设计有关的优化。我们先来了解下 HBase 列族具有哪些属性配置。

列族属性配置



版本数量（VERSIONS）
...]]></description><category></category></item><item><title><![CDATA[scala 中的 OOP总结（面向对象编程）]]></title><link>https://blog.youkuaiyun.com/sofeld/article/details/97620431</link><guid>https://blog.youkuaiyun.com/sofeld/article/details/97620431</guid><author>sofeld</author><pubDate>Sun, 28 Jul 2019 22:08:35 +0800</pubDate><description><![CDATA[-1.class 类

和 Java 中类是一样的

-2.Object 对象

类比 和 Java 单例对象

main 方法运行在此处

-3.trait

类比 Java 中接口 Interface

隐式转换 implicit
implicit

隐式的，隐藏的

偷偷摸摸

关键词：

修饰 class，修饰...]]></description><category></category></item></channel></rss>