<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Hello_World0825的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/Hello_World0825</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Hello_World0825]]></copyright><item><title><![CDATA[工作笔记]]></title><link>https://blog.youkuaiyun.com/Hello_World0825/article/details/116665076</link><guid>https://blog.youkuaiyun.com/Hello_World0825/article/details/116665076</guid><author>Hello_World0825</author><pubDate>Tue, 11 May 2021 18:45:55 +0800</pubDate><description><![CDATA[1.ip映射
导包
	&lt;dependency&gt;
         &lt;groupId&gt;org.lionsoul&lt;/groupId&gt;
         &lt;artifactId&gt;ip2region&lt;/artifactId&gt;
         &lt;version&gt;1.7.2&lt;/version&gt;
    &lt;/dependency&gt;

import org.apache.spark.SparkConf
import org.a]]></description><category></category></item><item><title><![CDATA[Spark读取mysql千万级数据自定义分区]]></title><link>https://blog.youkuaiyun.com/Hello_World0825/article/details/110089567</link><guid>https://blog.youkuaiyun.com/Hello_World0825/article/details/110089567</guid><author>Hello_World0825</author><pubDate>Wed, 25 Nov 2020 15:32:26 +0800</pubDate><description><![CDATA[spark读取mysql表数据时默认是在一个分区内执行，而且spark本身没有设置此种情况下分区的方法。所以我们需要根据特定字段进行自定义分区。
第一种是根据Long类型的有序字段，第二种是根据时间字段分区。
以下是代码实现
import java.sql.{Connection, DriverManager}
import java.text.SimpleDateFormat
import java.util.Properties
import org.apache.spark.sql.{DataFram]]></description><category></category></item><item><title><![CDATA[解决git公钥过期或未生成公钥问题]]></title><link>https://blog.youkuaiyun.com/Hello_World0825/article/details/109508744</link><guid>https://blog.youkuaiyun.com/Hello_World0825/article/details/109508744</guid><author>Hello_World0825</author><pubDate>Thu, 05 Nov 2020 11:51:05 +0800</pubDate><description><![CDATA[1、开始时git，push失败

2、度娘告诉说要去获取公钥,所以需要找到我们本地的git的bash终端
$ ssh-keygen -t rsa -C "自己的邮箱"

3、输入代码回车以后，会有几个问题，一直按回车就可以（如果之前生成过，那么有个问题是是否需要重新生成，要写y）

4、直到生成公钥

5、再去执行下边代码
$ ssh -v git@github.com

如果是第一次注册最后的代码会是
	No more authentication methods to try.  
　　Permissi]]></description><category></category></item><item><title><![CDATA[Spark将json数据的字段信息取出并对数值类型计算，结果保存到mysql]]></title><link>https://blog.youkuaiyun.com/Hello_World0825/article/details/108004103</link><guid>https://blog.youkuaiyun.com/Hello_World0825/article/details/108004103</guid><author>Hello_World0825</author><pubDate>Fri, 14 Aug 2020 15:00:41 +0800</pubDate><description><![CDATA[大概思想是先取数据，再对数据进行处理，最后将结果保存进Mysql
package DataToMysql

import java.sql.{Connection, DriverManager, PreparedStatement}
import java.text.SimpleDateFormat
import org.apache.spark.SparkConf
import org.apache.spark.rdd.RDD
import org.apache.spark.sql.types.{Stri]]></description><category></category></item><item><title><![CDATA[Flink读取Mysql数据库]]></title><link>https://blog.youkuaiyun.com/Hello_World0825/article/details/107935655</link><guid>https://blog.youkuaiyun.com/Hello_World0825/article/details/107935655</guid><author>Hello_World0825</author><pubDate>Tue, 11 Aug 2020 15:06:46 +0800</pubDate><description><![CDATA[Flink操作数据库并没有像Spark那样简洁方便，有点类似java操作mysql的思路。
pom依赖
    &lt;dependencies&gt;
    	&lt;dependency&gt;
            &lt;groupId&gt;org.apache.flink&lt;/groupId&gt;
            &lt;artifactId&gt;flink-scala_2.11&lt;/artifactId&gt;
            &lt;version&gt;1.]]></description><category></category></item><item><title><![CDATA[Spark消费Kafka并手动维护偏移量到Mysql]]></title><link>https://blog.youkuaiyun.com/Hello_World0825/article/details/107912532</link><guid>https://blog.youkuaiyun.com/Hello_World0825/article/details/107912532</guid><author>Hello_World0825</author><pubDate>Mon, 10 Aug 2020 15:23:46 +0800</pubDate><description><![CDATA[首先要明确的是，偏移量指的是消息在kafka中的某个位置，类似于数组的下标，所以我们要做的是消费者在消费过程中把消息消费到了哪一条，把它对应的offset获取到并保存下来。
首先我们要有一个生产消息的生产者，生产者代码如下：
import java.util.Properties
import org.apache.kafka.clients.producer.{KafkaProducer, ProducerRecord}

object SparkProducer {
  def main(args: A]]></description><category></category></item><item><title><![CDATA[Hive自定义UDF并在Hive中注册]]></title><link>https://blog.youkuaiyun.com/Hello_World0825/article/details/107906443</link><guid>https://blog.youkuaiyun.com/Hello_World0825/article/details/107906443</guid><author>Hello_World0825</author><pubDate>Mon, 10 Aug 2020 10:30:33 +0800</pubDate><description><![CDATA[1、创建一个类继承自UDF，并重写evaluate方法
import org.apache.hadoop.hive.ql.exec.UDF;

import java.util.Arrays;


public class UDFTest extends UDF {

    public static String evaluate(String str) {

        String[] Arr = str.split(",");
        for(int i = 0;i &lt; Arr.]]></description><category></category></item><item><title><![CDATA[实际生产环境下Spark一些简单功能的实现]]></title><link>https://blog.youkuaiyun.com/Hello_World0825/article/details/107085199</link><guid>https://blog.youkuaiyun.com/Hello_World0825/article/details/107085199</guid><author>Hello_World0825</author><pubDate>Thu, 02 Jul 2020 15:24:04 +0800</pubDate><description><![CDATA[Spark一些简单功能的实现
1、批量改变列名
val frame = spark.createDataFrame(Seq(("zhangsan", 18, "nan"),("lisi",20,"nv"))).toDF("name", "age", "sex")

val str = "name:name1"

if(str == ""){
  frame.show()
}else{
  val map: Map[String, String] = str.split(",").map(data =&gt;]]></description><category></category></item><item><title><![CDATA[MR的Shuffle过程以及优化]]></title><link>https://blog.youkuaiyun.com/Hello_World0825/article/details/105297960</link><guid>https://blog.youkuaiyun.com/Hello_World0825/article/details/105297960</guid><author>Hello_World0825</author><pubDate>Fri, 03 Apr 2020 18:26:57 +0800</pubDate><description><![CDATA[mr的shuffle过程## 标题
首先shuffle的过程指的是map方法之后以及reduce方法之前
数据从map方法出来以后，首先进入getPartition方法，然后会对数据进行分区，之后进入环形缓冲区（默认大小为100Mb，数据量到达80%时会进行磁盘溢写），在溢写数据时会进行一次快排，这里的快排是对key的索引进行字典顺序排序，溢写之后会产生大量的小文件，（由于在hdfs中，每个文件不...]]></description><category></category></item></channel></rss>