自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

卡奥斯道的博客

追逐梦想的心

  • 博客(95)
  • 收藏
  • 关注

原创 SQL实现最近一个周日的date

select date_sub(from_unixtime(unix_timestamp(),'yyyy-MM-dd'), if(pmod(datediff(from_unixtime(unix_timestamp(),'yyyy-MM-dd'), '2019-05-05'), 7) = 0,7,pmod(datediff(from_unixtime(unix_timestamp(),'yyyy-MM-dd'), '2019-05-05'), 7))) as sun

2021-04-09 16:48:08 298

原创 java字节转码,Shift_JIS转UTF8

public static void read(String path,String path1){ File file = new File(path); File file1 = new File(path1); int rownum = 1; String row; try { Buff...

2019-10-30 13:10:38 3711

原创 spark.read.option(jdbc)参数

Property Name Meaning url The JDBC URL to connect to. The source-specific connection properties may be specified in the URL. e.g.,jdbc:postgresql://localhost/test?user=fred&password=secre...

2019-10-25 14:45:42 5527

原创 spark列转行

val tag = spark.sql("select id,k,v from table") val ks= tag.select("k").map(row => row.getAs[String]("k")).distinct().collect().sorted.toList tag.groupBy("id").pivot("k", labelnames).agg(max("v...

2019-06-13 15:32:41 709

原创 hive解析json

select get_json_object('{"shop":{"book":[{"price":43.3,"type":"art"},{"price":30,"type":"technology"}],"clothes":{"price":19.951,"type":"shirt"}},"name":"jane","age":"23"}', '$.shop.book[0].type')

2019-05-28 13:47:54 396

原创 csv单元格存在引号引起多引号

处理方式如下:regexp_replace(regexp_replace(field,'(?<=^)\"|\"(?=$)',''),'\"\"','\"') as field分析:可以用notepad++打开观察

2019-05-23 18:43:29 1454

原创 count(字段)该字段存有null值,空字符串对结果的影响

SELECTcount(id) as id,count(distinct id) as ids_id,count(id1) as id1,count(distinct id1) as ids_id1 ,count(name) as name1,count(distinct name) as ids_name1from(SELECT '2' as idunion allSEL...

2019-05-06 18:15:07 4151

原创 hive拼接两个字段组成json

hive拼接两个字段,一个字段值作为K,另一个字段值作为V,id不唯一,将多行组成json串selectid,concat('{', regexp_replace(cast(sort_array(collect_set(kv)) as string),'(\"\":\"0\"\,)|\\[|\\]','') ,'}') kv from(select id,concat(conc...

2019-04-12 11:29:39 8490

原创 spark.read.jdbc 并发设置

1. 通过predicates设置读取并行度,如果只是spark.read.jdbc(mySqlHelper.url,mysql_table,predicates,mySqlHelper.prop),则并行的是1. val ip = "" val user = "" val database = "" val password = "" val mySq...

2019-01-15 18:06:02 4927

原创 开窗函数以及code实现

/** * Created by Administrator on 2018/9/4. * * 总结如下: * preceding:用于累加前N行(分区之内)。若是从分区第一行头开始,则为 unbounded。 N为:相对当前行向前的偏移量 * following :与preceding相反,累加后N行(分区之内)。若是累加到该分区结束,则为 unbounded。N为:相...

2019-01-09 17:12:39 369

原创 rollup和cube区别(基于spark sql)以及用dataFrame代码实现

1. rollup前后对比前:|pcode|event_date|duration|                    +-----+----------+--------+|    1|2018-09-02|       3|                     |    1|2018-09-03|       2||    1|2018-09-04|       1|...

2019-01-09 16:55:41 2093

原创 Structured Streaming之outputMode(complete和append)区别说明

1.complete需要聚合,并将原先批次的数据和本次批次的数据一起聚合,而append是不能聚合的2.若用append替换complete代码演示:def main(args: Array[String]): Unit = { val spark = SparkSession.builder().master("local[1]").getOrCreate() ...

2019-01-04 18:40:48 4653 1

原创 Structured Streaming通过foreach方法向mysql插入数据

1.先写TestForeachWriter需要extends ForeachWriter,代码如下:class TestForeachWriter extends ForeachWriter[Row] with Serializable { var connection:Connection = _ var statement:Statement = _ val ip...

2019-01-04 18:31:20 1825 3

原创 spark读取csv文件,中文乱码,同一单元格同时出现引号逗号(",)串列问题,动态构建原有csv首行schema信息

/** * * @param spark * @param headerSchema 是否用csv第一行作为schema信息 * @param code csv编码格式 * @param file csv绝对路径 * @return */ def readCSV(spark:SparkSessio...

2018-11-15 10:23:48 2650

原创 map(Row(_))错误,需要用Row.fromSeq(_)

  val rddRow = rdd.map(Row(_)) spark.createDataFrame(rddRow,schema)Caused by: java.lang.RuntimeException: Error while encoding: java.lang.RuntimeException: [Ljava.lang.String; is not a valid ext...

2018-11-15 10:21:56 3845 1

原创 count(distinct ) over(partition by order by)替换成size(collect_set() over(partition by order by))

这个函数的大致意思是:在分组内求去重后的数量为什么不用count(distinct ),不支持原因例子:数据准备:SELECT '1' as id ,'201808' as m,'a' as kunion allSELECT '2' as id ,'201808' as m,'a' as kunion allSELECT '1' as id ,'201809' as m,'...

2018-09-30 15:32:30 10708 1

原创 rows between unbounded preceding and current row等,unbounded ,preceding ,following,current row含义详解

unbounded:无界限preceding:从分区第一行头开始,则为 unbounded。 N为:相对当前行向前的偏移量following :与preceding相反,到该分区结束,则为 unbounded。N为:相对当前行向后的偏移量current row:顾名思义,当前行,偏移量为0例子:partition by order by asc/desc rows ...

2018-09-30 15:29:52 30336

原创 Spark 将dataFrame 转为 DataSet

一、dataFrame转为DataSet第一种方式:通过classval s = spark.sql( """ |select "1" id,1.1 f2,1.2 f3 |union all |select "2" id,1.1 f2,1.1 f3 """....

2018-09-06 16:03:52 1957 1

原创 pyspark An error occurred while calling o30.jdbc. java.lang.ClassNotFoundException: com.mysql.jdbc.

1.pyspark读取mysql错误from pyspark.sql import SparkSessionif __name__ == '__main__': spark = SparkSession.Builder() \ .appName('t') \ .master('local') \ .getOrCreate() ...

2018-07-16 13:32:59 5823

原创 一般maven-repository地址

&lt;repositories&gt; &lt;repository&gt; &lt;id&gt;scala-tools.org&lt;/id&gt; &lt;name&gt;Scala-Tools Maven2 Repository&lt;/name&gt; &lt;url&gt;http://scala-tools.org/repo-r

2018-06-14 13:55:32 3804

原创 纯数字去掉前导0

regexp_replace(field,'(?&lt;=^)0+(?=[0-9]*$)','') 

2018-06-08 10:06:24 4273 1

原创 python学习1-斐波那契数列

# 斐波那契def fib(m): n, a, b = 1, 0, 1 while n &lt;= m: print(b) a,b = b,a+b n = n +1fib(10)结果:11235813213455

2018-04-13 11:50:37 491

原创 hive内置函数大全

一、查看函数        show functions 显示hive下内置所有函数        desc function extended add_months 显示add_months 函数用法二、按首字母排序    hive版本1.1.0-cdh5.7.0.函数 Usage 举例 ! ! a - Logical not No example for !. % a % b ...

2018-03-20 17:11:02 8599

转载 利用hive将数据写入es

转自:https://www.iteblog.com/archives/1858.html在使用前同样需要加入 elasticsearch-hadoop-2.3.4.jar 依赖,具体请参见前文介绍。我们先在Hive里面建个名为iteblog的表,如下:CREATEEXTERNAL TABLEiteblog (    id  

2017-11-20 14:47:19 4479

转载 hive读取es数据

转自:https://www.iteblog.com/archives/1857.html 本文将介绍如何通过Hive来读取ElasticSearch中的数据,然后我们可以像操作其他正常Hive表一样,使用Hive来直接操作ElasticSearch中的数据,将极大的方便开发人员。本文使用的各组件版本分别为 Hive0.12、Hadoop-2.2.0、ElasticSearch 2

2017-11-20 14:45:40 3197 5

原创 sql,hql等join条件字段为null时,易出现错误以及解决办法

1.null=null不成立,null2.运行汇总当字段为null时,出现bug,及解决思路join的字段为null,不会出现p1.id=p2.idmysql> select * from yunxing_huizong;+------+------+------+| id   | cost | year |+------+------+------+| 1    

2017-11-17 17:46:16 6583

转载 Hive分析窗口函数 LAG,LEAD,FIRST_VALUE,LAST_VALUE

转自:http://lxw1234.com/archives/2015/04/190.htm数据准备:cookie1,2015-04-10 10:00:02,url2cookie1,2015-04-10 10:00:00,url1cookie1,2015-04-10 10:03:04,1url3cookie1,2015-04-10 10:50:05,url6cookie1,2015

2017-11-16 15:56:58 692

原创 reduce,aggregate和groupBy

官网说明:groupBy:This operation may be very expensive. If you are grouping in order to perform anaggregation (such as a sum or average) over each key, using `PairRDDFunctions.aggregateByKey`or `Pa

2017-11-16 15:12:42 558

转载 Spark性能相关参数配置及原理

转自:http://blog.csdn.net/ZYC88888/article/details/78531462Spark性能相关参数配置¶http://spark-config.readthedocs.io/en/latest/#概述随着Spark的逐渐成熟完善, 越来越多的可配置参数被添加到Spark中来, 在Spark的官方文档http://sp

2017-11-16 15:04:57 403

原创 redis操作以及5种数据类型string,hash,list,set,zset

Redis支持五种数据类型:查看key的类型(String,hash...)命令:type keystring(字符串)设置一个值:set命令set name hadoop在设置的时候可以指定当前key的过期时间set key value EX seconds ---->指定key之后seconds的存活时间,seconds之后消失获取一个值:get命令GETR

2017-10-15 18:00:24 1288

原创 redis简介及安装(集群)

1.简介Redis是一个开源(BSD许可),内存存储的数据结构服务器,可用作数据库,高速缓存和消息队列代理。它支持字符串、哈希表、列表、集合、有序集合,位图,hyperloglogs等数据类型。内置复制、Lua脚本、LRU收回、事务以及不同级别磁盘持久化功能,同时通过Redis Sentinel提供高可用,通过Redis Cluster提供自动分区。   简言之,Redis是一

2017-10-15 17:54:35 345

原创 hbase行健设计原则

行健的设计问题行健的热点问题是由于行健相似、连续且数据量过大操作成单region的数据量过大,进而影响读写效率行健应该尽量的随机、不要出现连续行健。常见的行健设计就是,比如手机号码倒置+时间戳,比如随机前缀+关系型数据库中的主键(以存放在mr中电信日志案例为例)因为hbase提供的查询内容非常非常low,但是所有关于hbase的查询只能通过rowkey,所以在设计行

2017-10-15 17:51:53 2811

原创 HBase和Phoenix的整合

安装Phoenix约定安装到/opt目录下面解压:soft]# tar -zxvf phoenix-4.7.0-HBase-1.1-bin.tar.gz -C ../重命名 opt]# mv phoenix-4.7.0-HBase-1.1 phoenix拷贝lib目录下面jar包到regionserver机器的lib($HBASE_HOME/lib)目录phoenix]#

2017-10-15 17:48:58 2045

原创 使用Hive来访问HBase

启动hive,进入hive的终端hive --auxpath /opt/hive/lib/hive-hbase-handler-2.1.0.jar,/opt/hive/lib/zookeeper-3.4.6.jar --hiveconf hbase.master=hadoop01:16010 --hiveconf hbase.zookeeper.quorum=hadoop01,hadoop02

2017-10-15 17:46:47 1308

原创 读取hive文件并将数据导入hbase

转:http://www.cnblogs.com/zhanggl/p/5658517.htmlpackage cn.tansun.bd.hbase;import java.io.IOException;import java.net.URI;import java.util.List;import java.util.Map;import org.apache.hado

2017-10-15 17:41:13 1288

转载 Spark上通过BulkLoad快速将海量数据导入到Hbase

转:https://www.iteblog.com/archives/1891.html我们在《通过BulkLoad快速将海量数据导入到Hbase[Hadoop篇]》文中介绍了一种快速将海量数据导入Hbase的一种方法,而本文将介绍如何在Spark上使用Scala编写快速导入数据到Hbase中的方法。这里将介绍两种方式:第一种使用Put普通的方法来倒数;第二种使用Bulk Load

2017-10-15 15:43:24 1258

转载 Java/大数据常见面试

1-3)java 的io类的图解 1-4)对象与引用对象的区别对象就是好没有初始化的对象,引用对象即使对这个对象进行了初始化,这个初始化可以使自己的直接new的也可以是直接其他的赋值的,那么背new或者背其他赋值的我们叫做是引用对象,最大的区别于 1-5)谈谈你对反射机制的理解及其用途?反射有三种获取的方式,分别是:forName  / getClass / 直接使用c

2017-10-15 14:47:26 8468

转载 海量数据处理-分而治之和hash映射

转:http://blog.csdn.net/yangquanhui1991/article/details/52172768什么是Hash     Hash,一般翻译做“散列”,也有直接音译为“哈希”的,就是把任意长度的输入(又叫做预映射, pre-image),通过散列算法,变换成固定长度的输出,该输出就是散列值。这种转换是一种压缩映射,也就是,散列值的空间通常远小于输入的

2017-10-15 11:56:23 418

原创 海量数据去重之SimHash算法简介和应用

转:http://blog.csdn.net/u010454030/article/details/49102565SimHash是什么SimHash是Google在2007年发表的论文《Detecting Near-Duplicates for Web Crawling 》中提到的一种指纹生成算法或者叫指纹提取算法,被Google广泛应用在亿级的网页去重的Job中,作为l

2017-10-15 11:54:21 1088

转载 MapReduce+HDFS,海量数据去重的五大策略

随着存储数据信息量的飞速增长,越来越多的人开始关注存储数据的缩减方法。数据压缩、单实例存储和重复数据删除等都是经常使用的存储数据缩减技术。重复数据删除往往是指消除冗余子文件。不同于压缩,重复数据删除对于数据本身并没有改变,只是消除了相同的数据占用的存储容量。重复数据删除在减少存储、降低网络带宽方面有着显著的优势,并对扩展性有所帮助。举个简单的例子:在专门为电信运营商定制的呼叫详单去

2017-10-15 11:51:46 464

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除