摘要: 在创建kafka topic的时候可以添加很多配置,如下表格 参考:Kafka Topic配置 参数名 含义 值 cleanup.policy 日志清除的策略,默认为 delete。如果要使用日志压缩,就需要让策略包含 compact。需要注意的是,如果开启了 compact 策略,则客户端提交的消 阅读全文
posted @ 2022-07-22 16:37 tonglin0325 阅读(632) 评论(0) 推荐(0) 编辑
摘要: 介绍HBase的Java API,参考:HBase读写的几种方式(一)java篇 和 Hbase--put、BufferedMutator、get 1.写HBase 1.单行put HTable非线程安全,切较为低效 2.客户端的写缓冲区和List<Put> 一个put操作都是一个RPC操作,只适合 阅读全文
posted @ 2022-01-13 13:02 tonglin0325 阅读(220) 评论(0) 推荐(0) 编辑
摘要: 1.如果是csa(Cloudera Streaming Analytics)版本的高版本HBase 可以参考Cloudera官方例子,通过引入官方提供的flink-hbase来实现 <dependency> <groupId>org.apache.flink</groupId> <artifactI 阅读全文
posted @ 2022-01-12 22:16 tonglin0325 阅读(2259) 评论(0) 推荐(0) 编辑
摘要: 除了使用hive hook来记录hive上用户的操作之外,还可以使用hive metastore listener来进行记录,参考: https://towardsdatascience.com/apache-hive-hooks-and-metastore-listeners-a-tale-of- 阅读全文
posted @ 2021-12-26 22:03 tonglin0325 阅读(759) 评论(0) 推荐(0) 编辑
摘要: gradle和maven类似,是一个构建工具 gradle安装和配置 1.mac安装gradle brew install gradle 或者下载gradle的二进制安装包 https://gradle.org/releases/ 然后在~/.bash_profile中配置 # gradle exp 阅读全文
posted @ 2021-12-02 15:57 tonglin0325 阅读(1454) 评论(0) 推荐(0) 编辑
摘要: Scylla兼容cassandra API,所以可以使用spark读写cassandra的方法来进行读写 1.查看scyllaDB对应的cassandra版本 cqlsh:my_db> SHOW VERSION [cqlsh 5.0.1 | Cassandra 3.0.8 | CQL spec 3. 阅读全文
posted @ 2021-11-09 22:01 tonglin0325 阅读(333) 评论(0) 推荐(0) 编辑
摘要: 在使用低版本的DataGrip的时候,还没有hive的data source,需要自行添加数据源 1.下载hive driver,如果你使用的EMR的大数据集群的话,下载地址 https://docs.aws.amazon.com/emr/latest/ReleaseGuide/HiveJDBCDr 阅读全文
posted @ 2021-09-15 14:28 tonglin0325 阅读(183) 评论(0) 推荐(0) 编辑
摘要: 参考kafka官方文档,版本1.0.x http://kafka.apache.org/10/documentation.html#consumerapi 依赖,选择 Cloudera Rel 中的 1.0.1-kafka-3.1.0 <dependency> <groupId>org.apache 阅读全文
posted @ 2021-07-07 16:03 tonglin0325 阅读(122) 评论(0) 推荐(0) 编辑
摘要: 在Thrift,Protobuf和avro序列化框架中,不约而同使用了zigzag编码来对数字进行编码,从而达到减少数据传输量的目的。 zigzag算法的核心主要是去除二进制数字中的前导0,因为在绝大多数情况下,我们使用到的整数,往往是比较小的。 参考:小而巧的数字压缩算法:zigzag 在avro 阅读全文
posted @ 2021-05-21 13:57 tonglin0325 阅读(96) 评论(0) 推荐(0) 编辑
摘要: 该文章对比了常用的一些存储底层所使用的数据结构。 1.B+树 MySQL,MongoDB的索引使用的就是B+树 B+树在多读少写(相对而言)的情境下比较有优势。 B+树的主要优点: 1.结构比较扁平,高度低(一般不超过4层),随机寻道次数少; 2.数据存储密度大,且都位于叶子节点,查询稳定,遍历方便 阅读全文
posted @ 2021-03-04 16:02 tonglin0325 阅读(13) 评论(0) 推荐(0) 编辑
摘要: 参考 https://dzone.com/articles/elasticsearch5-how-to-build-a-plugin-and-add-a-lis https://github.com/chrisshayan/es-changes-feed-plugin https://blog.cs 阅读全文
posted @ 2021-01-22 15:50 tonglin0325 阅读(990) 评论(0) 推荐(0) 编辑
摘要: 1.Airbnb rowkey设计案例 在Airbnb的rowkey设计案例中,使用了hash法避免了写入热点问题,其中 Event_key标识了一条日志的唯一性,用于将来自Kafka的日志数据进行去重; Shard_id是将Event_key进行hash(可以参考es的路由哈希算法Hashing. 阅读全文
posted @ 2021-01-21 10:48 tonglin0325 阅读(276) 评论(0) 推荐(0) 编辑
摘要: 在美团点评的文章中,介绍了HiveSQL转化为MapReduce的过程 1、Antlr定义SQL的语法规则,完成SQL词法,语法解析,将SQL转化为抽象语法树AST Tree 2、遍历AST Tree,抽象出查询的基本组成单元QueryBlock 3、遍历QueryBlock,翻译为执行操作树Ope 阅读全文
posted @ 2021-01-21 00:19 tonglin0325 阅读(313) 评论(0) 推荐(0) 编辑
摘要: 前置条件是安装ik分词,请参考 Elasticsearch学习笔记——分词 1.在ik分词的config下添加词库文件 ~/software/apache/elasticsearch-6.2.4/config/analysis-ik$ ls | grep mydic.dic mydic.dic 内容 阅读全文
posted @ 2021-01-07 15:52 tonglin0325 阅读(716) 评论(0) 推荐(0) 编辑
摘要: Flink支持用户自定义 Functions,方法有2个 Ref https://ci.apache.org/projects/flink/flink-docs-release-1.12/zh/dev/user_defined_functions.html 1. 实现 MapFunction接口 c 阅读全文
posted @ 2020-12-16 17:28 tonglin0325 阅读(377) 评论(0) 推荐(0) 编辑
摘要: Flink有3中运行模式,分别是STREAMING,BATCH和AUTOMATIC Ref https://ci.apache.org/projects/flink/flink-docs-release-1.12/zh/dev/datastream_execution_mode.html 1.STR 阅读全文
posted @ 2020-12-14 16:27 tonglin0325 阅读(1666) 评论(0) 推荐(0) 编辑
摘要: Flink中的DataSet任务用于实现data sets的转换,data set通常是固定的数据源,比如可读文件,或者本地集合等。 Ref https://ci.apache.org/projects/flink/flink-docs-release-1.12/zh/dev/batch/ 使用Da 阅读全文
posted @ 2020-12-11 17:43 tonglin0325 阅读(310) 评论(0) 推荐(0) 编辑
摘要: Flink中的DataStream任务用于实现data streams的转换,data stream可以来自不同的数据源,比如消息队列,socket,文件等。 Ref https://ci.apache.org/projects/flink/flink-docs-stable/zh/dev/data 阅读全文
posted @ 2020-12-11 17:35 tonglin0325 阅读(291) 评论(0) 推荐(0) 编辑
摘要: Flink有以下几种Environment 1. 批处理Environment,ExecutionEnvironment ExecutionEnvironment env = ExecutionEnvironment.getExecutionEnvironment(); 2.流处理Environme 阅读全文
posted @ 2020-12-10 20:06 tonglin0325 阅读(1528) 评论(0) 推荐(0) 编辑
摘要: 在Flink任务中,需要加载外置配置参数到任务中,在Flink的开发文档中介绍了,Flink提供了一个名为 ParameterTool 的工具来解决这个问题 Flink开发文档: https://github.com/apache/flink/blob/master/docs/dev/applica 阅读全文
posted @ 2020-12-10 14:57 tonglin0325 阅读(981) 评论(0) 推荐(1) 编辑
摘要: 1.业界公司数据平台建设规模 1.twitter Twitter关于日志系统的论文有如下2篇,分别是 《The Unified Logging Infrastructure for Data Analytics at Twitter》和《Scaling Big Data Mining Infrast 阅读全文
posted @ 2020-12-08 19:39 tonglin0325 阅读(307) 评论(0) 推荐(0) 编辑
摘要: Springboot可以通过redis template和redis进行交互,使用方法如下 可以参考这个系列的文章: 【快学springboot】11.整合redis实现session共享 【快学springboot】13.操作redis之String数据结构 【快学springboot】14.操作 阅读全文
posted @ 2020-12-01 13:49 tonglin0325 阅读(281) 评论(0) 推荐(0) 编辑
摘要: 下载hadoop的原生版本,版本选择2.6.0,下载地址 https://archive.apache.org/dist/hadoop/common/hadoop-2.6.0/hadoop-2.6.0.tar.gz 解压后可以看到 其中配置文件在 /etc/hadoop目录下 解压后默认的配置文件都 阅读全文
posted @ 2020-11-20 17:30 tonglin0325 阅读(379) 评论(0) 推荐(0) 编辑
摘要: SerDe 是Serializer 和 Deserializer 的简称,它提供了Hive和各种数据格式交互的方式。 Amazon的Athena可以理解是Amazon对标hive的一款产品,其中对SerDe的介绍如下 https://docs.aws.amazon.com/zh_cn/athena/ 阅读全文
posted @ 2020-11-17 11:04 tonglin0325 阅读(522) 评论(0) 推荐(0) 编辑
摘要: OutputFormat在hadoop源码中是一个抽象类 public abstract class OutputFormat<K, V>,其定义了reduce任务的输出格式 https://github.com/apache/hadoop/blob/master/hadoop-mapreduce- 阅读全文
posted @ 2020-11-16 14:54 tonglin0325 阅读(233) 评论(0) 推荐(0) 编辑
摘要: Filebeat的input终于支持了http,可以使用post请求向filebeat的input传输数据,不过现在还是处于beta版本 参考 https://www.elastic.co/guide/en/beats/filebeat/7.x/filebeat-input-http_endpoin 阅读全文
posted @ 2020-10-10 18:42 tonglin0325 阅读(1384) 评论(0) 推荐(0) 编辑
摘要: 在 scala和java混合编程的时候,需要添加一些额外的配置到pom中,才能将scala文件的class加到最终的jar中 <build> <pluginManagement> <plugins> <plugin> <groupId>org.scala-tools</groupId> <artif 阅读全文
posted @ 2020-10-10 10:25 tonglin0325 阅读(1090) 评论(0) 推荐(0) 编辑
摘要: 参考:Thrift 连接 Java 与 Python,附 Java 通用工厂方法 上面这篇文章的例子是使用java client调用python server中的helloString方法来打印client传输过去的字符串 thrift文件,hello.thrift service Hello { 阅读全文
posted @ 2020-10-09 13:47 tonglin0325 阅读(601) 评论(0) 推荐(0) 编辑
摘要: InputFormat在hadoop源码中是一个抽象类 public abstract class InputFormat<K, V> https://github.com/apache/hadoop/blob/master/hadoop-mapreduce-project/hadoop-mapre 阅读全文
posted @ 2020-09-30 11:31 tonglin0325 阅读(352) 评论(0) 推荐(0) 编辑
摘要: 1.proto2 1.protobuf的github地址 https://github.com/protocolbuffers/protobuf 去releases下载需要的版本 https://github.com/protocolbuffers/protobuf/releases 选择2.5.0 阅读全文
posted @ 2020-09-17 15:39 tonglin0325 阅读(1704) 评论(0) 推荐(0) 编辑
摘要: 1.概念 Amazon s3全称Amazon Simple Storage Service,是一个对象存储,不是一个file system,所以在使用s3的时候,list dir会很慢 kv存储:从零开始写KV数据库:基于哈希索引 比如如下的s3路径 s3://BucketName/Project/ 阅读全文
posted @ 2020-09-17 10:51 tonglin0325 阅读(1303) 评论(0) 推荐(1) 编辑
摘要: 安装openldap,参考: https://www.alibabacloud.com/blog/how-to-install-openldap-and-phpldapadmin-on-ubuntu-16-04_594318 https://www.cnblogs.com/hzw97/p/11592 阅读全文
posted @ 2020-09-13 14:26 tonglin0325 阅读(1245) 评论(0) 推荐(0) 编辑
摘要: 1.查看java进程,jps命令可以列出正在运行的虚拟机进程 jps -l 1005373 sun.tools.jps.Jps 1000153 org.apache.flume.node.Application 2.查看flume进程java虚拟机的统计信息 jstat -gcutil 102847 阅读全文
posted @ 2020-08-18 16:54 tonglin0325 阅读(450) 评论(0) 推荐(0) 编辑
摘要: 添加maven proxy 比如中央仓库 https://repo1.maven.org/maven2/ 比如cloudera的仓库 https://repository.cloudera.com/artifactory/cloudera-repos maven-central maven-clou 阅读全文
posted @ 2020-08-14 15:06 tonglin0325 阅读(173) 评论(0) 推荐(0) 编辑
摘要: 参考:从Paxos到Zookeeper分布式一致性原理和实践 使用的zk依赖是cdh5.16.2的3.4.5 <!-- zookeeper --> <dependency> <groupId>org.apache.zookeeper</groupId> <artifactId>zookeeper</ 阅读全文
posted @ 2020-08-02 23:39 tonglin0325 阅读(361) 评论(0) 推荐(0) 编辑
摘要: 1.CaseFormat CaseFormat是guava中用于字符串格式转换的工具,有以下几种类型 UPPER_CAMEL,比如 UpperCamel UPPER_UNDERSCORE,比如 UPPER_UNDERSCORE LOWER_CAMEL,比如 lowerCamel LOWER_HYPH 阅读全文
posted @ 2020-07-25 22:58 tonglin0325 阅读(374) 评论(0) 推荐(0) 编辑
摘要: 别名是一个指针或者名称,可以对应一个或者多个具体的索引。 别名的创建,这样就给一个名为es的索引添加了一个别名:alias_test lintong@lintongdeMacBook-Pro ~ $ curl -XPUT 'http://master:9200/es/_alias/alias_tes 阅读全文
posted @ 2020-07-20 23:35 tonglin0325 阅读(192) 评论(0) 推荐(0) 编辑
摘要: 1,由cdh安装的kafka的默认存储路径如图所示在/var/local/kafka/data,一般会进行修改 kafka配置参考:apache kafka系列之server.properties配置文件参数说明 路径下文件如下 如果是多个路径的话,使用,进行分隔,比如/data01/kafka/d 阅读全文
posted @ 2020-07-19 16:57 tonglin0325 阅读(919) 评论(0) 推荐(1) 编辑
摘要: 参考:分布式系统协议Paxos、Raft和ZAB Paxos算法是一种提高分布式系统容错率的一致性算法 Paxos 算法的步骤是这样: 1.首先有两种角色,一个是“提议者”,一个是“接受者”。提议者可以向接受者提出提议,然后接受者表达意见。 2.因为存在多个提议者,如果同时表达意见会出现意见不一致的 阅读全文
posted @ 2020-07-18 15:05 tonglin0325 阅读(562) 评论(0) 推荐(0) 编辑
摘要: 1.Master选举 在分布式系统中,需要选举一台机器作为master或者leader。 这时候,可以选择一个跟节点,比如/master,然后多台机器同时像这个节点创建一个子节点/master/lock,利用zookeeper的特性,最终只有一台机器能否创建成功,成功的那台机器就是Master; 其 阅读全文
posted @ 2020-07-12 15:12 tonglin0325 阅读(147) 评论(0) 推荐(0) 编辑