<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[jmx_bigdata的博客]]></title><description><![CDATA[公众号[大数据技术与数仓]]]></description><link>https://blog.csdn.net/jmx_bigdata</link><language>zh-cn</language><generator>https://blog.csdn.net/</generator><copyright><![CDATA[Copyright &copy; jmx_bigdata]]></copyright><item><title><![CDATA[关于构建数据仓库的几个问题]]></title><link>https://blog.csdn.net/jmx_bigdata/article/details/113955171</link><guid>https://blog.csdn.net/jmx_bigdata/article/details/113955171</guid><author>jmx_bigdata</author><pubDate>Mon, 15 Mar 2021 15:17:25 +0800</pubDate><description><![CDATA[写在前面
数据仓库（Data Warehouse）是一个面向主题的（Subject Oriented）、集成的（Integrated）、相对稳定的（Non-Volatile）、反映历史变化（Time Variant）的数据集合，用于支持管理决策(Decision Making Support)。近年来，随着大数据的应用不断深入，构建企业级数据仓库成为了企业进行精细化运营的一种趋势。
从管理者的视角来看，数据仓库是赋能业务并辅助决策的一种工具，从开发者的视角来看，数据仓库是一堆数据模型的集合。数仓开发是一个系]]></description><category></category></item><item><title><![CDATA[实时数仓|以upsert的方式读写Kafka数据——以Flink1.12为例]]></title><link>https://blog.csdn.net/jmx_bigdata/article/details/112572194</link><guid>https://blog.csdn.net/jmx_bigdata/article/details/112572194</guid><author>jmx_bigdata</author><pubDate>Wed, 13 Jan 2021 16:30:20 +0800</pubDate><description><![CDATA[在某些场景中，比如GROUP BY聚合之后的结果，需要去更新之前的结果值。这个时候，需要将 Kafka 消息记录的 key 当成主键处理，用来确定一条数据是应该作为插入、删除还是更新记录来处理。在Flink1.11中，可以通过 flink-cdc-connectors 项目提供的 **changelog-json format **来实现该功能。关于该功能的使用，见之前的分享Flink1.11中的CDC Connectors操作实践。
在Flink1.12版本中， 新增了一个 upsert connecto]]></description><category></category></item><item><title><![CDATA[Flink on Hive构建流批一体数仓]]></title><link>https://blog.csdn.net/jmx_bigdata/article/details/112253011</link><guid>https://blog.csdn.net/jmx_bigdata/article/details/112253011</guid><author>jmx_bigdata</author><pubDate>Tue, 05 Jan 2021 21:13:44 +0800</pubDate><description><![CDATA[Flink使用HiveCatalog可以通过批或者流的方式来处理Hive中的表。这就意味着Flink既可以作为Hive的一个批处理引擎，也可以通过流处理的方式来读写Hive中的表，从而为实时数仓的应用和流批一体的落地实践奠定了坚实的基础。本文将以Flink1.12为例，介绍Flink集成Hive的另外一个非常重要的方面——Hive维表JOIN(Temporal Table Join)与Flink读写Hive表的方式。以下是全文，希望本文对你有所帮助。

公众号『大数据技术与数仓』，回复『资料』领取大数据资料]]></description><category></category></item><item><title><![CDATA[Flink集成Hive之Hive Catalog与Hive Dialect--以Flink1.12]]></title><link>https://blog.csdn.net/jmx_bigdata/article/details/111505282</link><guid>https://blog.csdn.net/jmx_bigdata/article/details/111505282</guid><author>jmx_bigdata</author><pubDate>Tue, 22 Dec 2020 09:43:25 +0800</pubDate><description><![CDATA[在上一篇分享Flink集成Hive之快速入门–以Flink1.12为例中，介绍了Flink集成Hive的进本步骤。本文分享，将继续介绍Flink集成Hive的另外两个概念：Hive Catalog与Hive Dialect。本文包括以下内容，希望对你有所帮助。

什么是Hive Catalog
如何使用Hive Catalog
什么是Hive Dialect
如何使用Hive Dialect


公众号『大数据技术与数仓』，回复『资料』领取大数据资料包

什么是Hive Catalog
我们知道，Hive使]]></description><category></category></item><item><title><![CDATA[Flink集成Hive之快速入门--以Flink1.12为例]]></title><link>https://blog.csdn.net/jmx_bigdata/article/details/111467377</link><guid>https://blog.csdn.net/jmx_bigdata/article/details/111467377</guid><author>jmx_bigdata</author><pubDate>Mon, 21 Dec 2020 09:37:21 +0800</pubDate><description><![CDATA[使用Hive构建数据仓库已经成为了比较普遍的一种解决方案。目前，一些比较常见的大数据处理引擎，都无一例外兼容Hive。Flink从1.9开始支持集成Hive，不过1.9版本为beta版，不推荐在生产环境中使用。在Flink1.10版本中，标志着对 Blink的整合宣告完成，对 Hive 的集成也达到了生产级别的要求。值得注意的是，不同版本的Flink对于Hive的集成有所差异，本文将以最新的Flink1.12版本为例，阐述Flink集成Hive的简单步骤，以下是全文，希望对你有所帮助。

公众号『大数据技术]]></description><category></category></item><item><title><![CDATA[数仓开发需要了解的5大SQL分析函数]]></title><link>https://blog.csdn.net/jmx_bigdata/article/details/110070820</link><guid>https://blog.csdn.net/jmx_bigdata/article/details/110070820</guid><author>jmx_bigdata</author><pubDate>Tue, 24 Nov 2020 13:55:42 +0800</pubDate><description><![CDATA[公众号『大数据技术与数仓』，回复『资料』领取大数据资料包

基本语法
analytic_function_name([argument_list])
OVER (
[PARTITION BY partition_expression,…]
[ORDER BY sort_expression, … [ASC|DESC]])


analytic_function_name: 函数名称 — 比如 RANK(), SUM(), FIRST()等等
partition_expression: 分区列
sort_e.]]></description><category></category></item><item><title><![CDATA[第十一篇|基于SparkSQL的电影分析项目实战]]></title><link>https://blog.csdn.net/jmx_bigdata/article/details/109993447</link><guid>https://blog.csdn.net/jmx_bigdata/article/details/109993447</guid><author>jmx_bigdata</author><pubDate>Mon, 23 Nov 2020 13:29:21 +0800</pubDate><description><![CDATA[在之前的分享中，曾系统地介绍了Spark的基本原理和使用方式，感兴趣的可以翻看之前的分享文章。在本篇分享中，将介绍一个完整的项目案例，该案例会真实还原企业中SparkSQL的开发流程，手把手教你构建一个基于SparkSQL的分析系统。为了讲解方便，我会对代码进行拆解，完整的代码已上传至GitHub，想看完整代码可以去clone，记得给个Star。以下是全文，希望本文对你有所帮助。

https://github.com/jiamx/spark_project_practise

公众号『大数据技术与数仓』，]]></description><category></category></item><item><title><![CDATA[篇五|ClickHouse数据导入(Flink、Spark、Kafka、MySQL、Hive)]]></title><link>https://blog.csdn.net/jmx_bigdata/article/details/109765674</link><guid>https://blog.csdn.net/jmx_bigdata/article/details/109765674</guid><author>jmx_bigdata</author><pubDate>Wed, 18 Nov 2020 10:18:05 +0800</pubDate><description><![CDATA[本文分享主要是ClickHouse的数据导入方式，本文主要介绍如何使用Flink、Spark、Kafka、MySQL、Hive将数据导入ClickHouse，具体内容包括：

使用Flink导入数据
使用Spark导入数据
从Kafka中导入数据
从MySQL中导入数据
从Hive中导入数据


使用Flink导入数据
本文介绍使用 flink-jdbc将数据导入ClickHouse，Maven依赖为：
&lt;dependency&gt;
    &lt;groupId&gt;org.apache.fli]]></description><category></category></item><item><title><![CDATA[第十篇SparkStreaming手动维护Kafka Offset的几种方式]]></title><link>https://blog.csdn.net/jmx_bigdata/article/details/109648241</link><guid>https://blog.csdn.net/jmx_bigdata/article/details/109648241</guid><author>jmx_bigdata</author><pubDate>Thu, 12 Nov 2020 17:04:13 +0800</pubDate><description><![CDATA[Spark Streaming No Receivers 方式的createDirectStream 方法不使用接收器，而是创建输入流直接从Kafka 集群节点拉取消息。输入流保证每个消息从Kafka 集群拉取以后只完全转换一次，保证语义一致性。但是当作业发生故障或重启时，要保障从当前的消费位点去处理数据(即Exactly Once语义)，单纯的依靠SparkStreaming本身的机制是不太理想的，生产环境中通常借助手动管理offset的方式来维护kafka的消费位点。本文分享将介绍如何手动管理Kafka]]></description><category></category></item><item><title><![CDATA[Spark的五种JOIN策略解析]]></title><link>https://blog.csdn.net/jmx_bigdata/article/details/109480551</link><guid>https://blog.csdn.net/jmx_bigdata/article/details/109480551</guid><author>jmx_bigdata</author><pubDate>Tue, 03 Nov 2020 22:17:28 +0800</pubDate><description><![CDATA[JOIN操作是非常常见的数据处理操作，Spark作为一个统一的大数据处理引擎，提供了非常丰富的JOIN场景。本文分享将介绍Spark所提供的5种JOIN策略，希望对你有所帮助。本文主要包括以下内容：

影响JOIN操作的因素
Spark中JOIN执行的5种策略
Spark是如何选择JOIN策略的

影响JOIN操作的因素
数据集的大小
参与JOIN的数据集的大小会直接影响Join操作的执行效率。同样，也会影响JOIN机制的选择和JOIN的执行效率。
JOIN的条件
JOIN的条件会涉及字段之间的逻辑比较。根]]></description><category></category></item><item><title><![CDATA[Spark SQL百万级数据批量读写入MySQL]]></title><link>https://blog.csdn.net/jmx_bigdata/article/details/109480467</link><guid>https://blog.csdn.net/jmx_bigdata/article/details/109480467</guid><author>jmx_bigdata</author><pubDate>Tue, 03 Nov 2020 22:05:37 +0800</pubDate><description><![CDATA[Spark SQL读取MySQL的方式
Spark SQL还包括一个可以使用JDBC从其他数据库读取数据的数据源。与使用JdbcRDD相比，应优先使用此功能。这是因为结果作为DataFrame返回，它们可以在Spark SQL中轻松处理或与其他数据源连接。JDBC数据源也更易于使用Java或Python，因为它不需要用户提供ClassTag。
可以使用Data Sources API将远程数据库中的表加载为DataFrame或Spark SQL临时视图。用户可以在数据源选项中指定JDBC连接属性。 user]]></description><category></category></item><item><title><![CDATA[篇四|ClickHouse的可视化界面与集群状态监控]]></title><link>https://blog.csdn.net/jmx_bigdata/article/details/109284338</link><guid>https://blog.csdn.net/jmx_bigdata/article/details/109284338</guid><author>jmx_bigdata</author><pubDate>Mon, 26 Oct 2020 10:10:11 +0800</pubDate><description><![CDATA[介绍
tabix支持通过浏览器直接连接 ClickHouse，不需要安装其他软件，就可以访问ClickHouse，具有以下特点：

⾼亮语法的编辑器。
⾃动命令补全。
查询命令执⾏的图形分析⼯具。
配⾊⽅案选项。

除此之外，还可以使用DBeaver连接ClickHouse，本文主要介绍这两种工具的使用方式。
方式1：不安装，直接使用浏览器访问
地址为：https://github.com/tabixio/tabix。在浏览器打开下面链接
http://ui.tabix.io/

进入该链接后，界面如下：
]]></description><category></category></item><item><title><![CDATA[篇三|ClickHouse的数据类型]]></title><link>https://blog.csdn.net/jmx_bigdata/article/details/109084721</link><guid>https://blog.csdn.net/jmx_bigdata/article/details/109084721</guid><author>jmx_bigdata</author><pubDate>Wed, 14 Oct 2020 21:31:31 +0800</pubDate><description><![CDATA[ClickHouse提供了许多数据类型，它们可以划分为基础类型、复合类型和特殊类型。我们可以在system.data_type_families表中检查数据类型名称以及是否区分大小写。
SELECT * FROM system.data_type_families

上面的系统表，存储了ClickHouse所支持的数据类型，注意不同版本的ClickHouse可能数据类型会有所不同，具体如下表所示：
┌─name────────────────────┬─case_insensitive─┬─alias_to]]></description><category></category></item><item><title><![CDATA[篇二|什么是ClickHouse的表引擎?]]></title><link>https://blog.csdn.net/jmx_bigdata/article/details/108719569</link><guid>https://blog.csdn.net/jmx_bigdata/article/details/108719569</guid><author>jmx_bigdata</author><pubDate>Mon, 21 Sep 2020 21:38:04 +0800</pubDate><description><![CDATA[在上一篇分享中，我们介绍了ClickHouse的安装部署和简单使用。本文将介绍ClickHouse中一个非常重要的概念—表引擎(table engine)。如果对MySQL熟悉的话，或许你应该听说过InnoDB和MyISAM存储引擎。不同的存储引擎提供不同的存储机制、索引方式、锁定水平等功能，也可以称之为表类型。ClickHouse提供了丰富的表引擎，这些不同的表引擎也代表着不同的表类型。比如数据表拥有何种特性、数据以何种形式被存储以及如何被加载。本文会对ClickHouse中常见的表引擎进行介绍，主要包括]]></description><category></category></item><item><title><![CDATA[篇一|ClickHouse快速入门]]></title><link>https://blog.csdn.net/jmx_bigdata/article/details/108568278</link><guid>https://blog.csdn.net/jmx_bigdata/article/details/108568278</guid><author>jmx_bigdata</author><pubDate>Sun, 13 Sep 2020 21:26:40 +0800</pubDate><description><![CDATA[ClickHouse简介
ClickHouse是一个用于联机分析(OLAP)的列式数据库管理系统(DBMS)。ClickHouse最初是一款名为Yandex.Metrica的产品，主要用于WEB流量分析。ClickHouse的全称是Click Stream,Data WareHouse，简称ClickHouse。
ClickHouse非常适用于商业智能领域，除此之外，它也能够被广泛应用于广告流量、Web、App流量、电信、金融、电子商务、信息安全、网络游戏、物联网等众多其他领域。ClickHouse具有以下]]></description><category></category></item><item><title><![CDATA[面试|Kafka常见面试问题总结]]></title><link>https://blog.csdn.net/jmx_bigdata/article/details/108549843</link><guid>https://blog.csdn.net/jmx_bigdata/article/details/108549843</guid><author>jmx_bigdata</author><pubDate>Sat, 12 Sep 2020 15:05:58 +0800</pubDate><description><![CDATA[现如今，Kafka已不再是一个单纯的消息队列系统。Kafka是一个分布式的流处理平台，被越来越多的公司使用，Kafka可以被用于高性能的数据管道，流处理分析，数据集成等场景。本文分享总结了几个Kafka常见的面试问题，希望对你有所帮助。主要包括以下内容：


Kafka是如何保障数据不丢失的？


如何解决Kafka数据丢失问题？


Kafka可以保障永久不丢失数据吗？


如何保障Kafka中的消息是有序的？


如何确定Kafka主题的分区数量？


如何调整生产环境中Kafka主题的分区数量？


]]></description><category></category></item><item><title><![CDATA[Hive SQL使用过程中的奇怪现象]]></title><link>https://blog.csdn.net/jmx_bigdata/article/details/108549820</link><guid>https://blog.csdn.net/jmx_bigdata/article/details/108549820</guid><author>jmx_bigdata</author><pubDate>Sat, 12 Sep 2020 15:04:52 +0800</pubDate><description><![CDATA[hive是基于Hadoop的一个数据仓库工具，用来进行数据的ETL，这是一种可以存储、查询和分析存储在Hadoop中的大规模数据的机制。hive能将结构化的数据文件映射为一张数据库表，并提供SQL查询功能。Hive SQL是一种类SQL语言，与关系型数据库所支持的SQL语法存在微小的差异。本文对比MySQL和Hive所支持的SQL语法，发现相同的SQL语句在Hive和MySQL中输出结果的会有所不同。

公众号『大数据技术与数仓』，回复『资料』领取大数据资料包

两个整数除
除法是SQL引擎难以解释的算术运]]></description><category></category></item><item><title><![CDATA[使用SQL窗口函数进行商务数据分析]]></title><link>https://blog.csdn.net/jmx_bigdata/article/details/108433576</link><guid>https://blog.csdn.net/jmx_bigdata/article/details/108433576</guid><author>jmx_bigdata</author><pubDate>Sun, 06 Sep 2020 16:57:55 +0800</pubDate><description><![CDATA[本文会从一个商务分析案例入手，说明SQL窗口函数的使用方式。通过本文的5个需求分析，可以看出SQL窗口函数的功能十分强大，不仅能够使我们编写的SQL逻辑更加清晰，而且在某种程度上可以简化需求开发。
数据准备
本文主要分析只涉及一张订单表orders，操作过程在Hive中完成，具体数据如下：
-- 建表
CREATE TABLE orders(
    order_id int,
    customer_id string,
    city string,
    add_time string,
   ]]></description><category></category></item><item><title><![CDATA[项目实践|基于Flink的用户行为日志分析系统]]></title><link>https://blog.csdn.net/jmx_bigdata/article/details/108310953</link><guid>https://blog.csdn.net/jmx_bigdata/article/details/108310953</guid><author>jmx_bigdata</author><pubDate>Sun, 30 Aug 2020 21:35:17 +0800</pubDate><description><![CDATA[用户行为日志分析是实时数据处理很常见的一个应用场景，比如常见的PV、UV统计。本文将基于Flink从0到1构建一个用户行为日志分析系统，包括架构设计与代码实现。本文分享将完整呈现日志分析系统的数据处理链路，通过本文，你可以了解到：

基于discuz搭建一个论坛平台
Flume日志收集系统使用方式
Apache日志格式分析
Flume与Kafka集成
日志分析处理流程
架构设计与完整的代码实现

项目简介
本文分享会从0到1基于Flink实现一个实时的用户行为日志分析系统，基本架构图如下：

首先会先搭建一]]></description><category></category></item><item><title><![CDATA[元数据管理|Hive Hooks和Metastore监听器介绍]]></title><link>https://blog.csdn.net/jmx_bigdata/article/details/108170105</link><guid>https://blog.csdn.net/jmx_bigdata/article/details/108170105</guid><author>jmx_bigdata</author><pubDate>Sat, 22 Aug 2020 16:24:00 +0800</pubDate><description><![CDATA[元数据管理是数据仓库的核心，它不仅定义了数据仓库有什么，还指明了数据仓库中数据的内容和位置，刻画了数据的提取和转换规则，存储了与数据仓库主题有关的各种商业信息。本文主要介绍Hive Hook和MetaStore Listener，使用这些功能可以进行自动的元数据管理。通过本文你可以了解到：

元数据管理
Hive Hooks 和 Metastore Listeners
Hive Hooks基本使用
Metastore Listeners基本使用

元数据管理
元数据定义
按照传统的定义，元数据（ Metad]]></description><category></category></item></channel></rss>