Blog
Technical exploration and thoughts · 655 articles
Offline Data Warehouse Hive ADS Export MySQL DataX Practi...
The landing path for exporting Hive ADS layer tables to MySQL in offline data warehouse. Gives typical DataX solution: hdfsreader -> mysqlwriter. Focuses on DataX JSON configuration and common erro...
MyBatis Annotation Development - One-to-Many and Many-to-...
Detailed introduction to one-to-many and many-to-many mapping in MyBatis annotation development, including @Many annotation usage, user-order and user-role relationship implementation, and analysis...
Offline Data Warehouse Retention Rate Implementation: DWS...
Implementation of 'Member Retention' in offline data warehouse: DWS layer uses dws_member_retention_day table to join new member and startup detail tables to...
MyBatis Annotation Development - Basic Introduction and O...
Detailed introduction to MyBatis annotation development approach, including usage of common annotations (@Select, @Insert, @Update, @Delete, @Results, etc.) and implementing one-to-one model mappin...
Neo4j CQL Quick Reference: String/Aggregate/Relationship ...
Neo4j CQL functions quick reference: string functions, aggregate functions, relationship functions and shortest path queries. This article deeply analyzes principles and practical applications.
Offline Data Warehouse Hive New Member & Retention: DWS D...
Offline data warehouse calculates 'new members' daily, and provides consistent definition data foundation for subsequent 'member retention'. Use 'full member table (with first day dt)' as deduplica...
Apache Flink Introduction: Unified Stream-Batch Real-Time...
Systematic introduction to Apache Flink's origin, core features, and architecture components: JobManager, TaskManager, Dispatcher responsibilities, unified stream-batch processing model, and compar...
MyBatis Deep Dive - Many-to-Many Model with Collection Tags
Detailed explanation of many-to-many model mapping in MyBatis, including intermediate table design, user-role relationship implementation, collection tag usage, and complete code examples for many-...
Offline Data Warehouse Hive Practice: DWD to DWS Daily/We...
This article introduces using Hive to build an offline data warehouse for calculating active members (daily/weekly/monthly). Covers the complete flow from DWD...
MyBatis Deep Dive - One-to-Many Model with Collection Tags
Detailed explanation of one-to-many model mapping in MyBatis, including database table design, collection tag usage, Java entity class definitions, and implementation and testing of one-to-many que...
Neo4j CQL Practice: WHERE, DELETE/DETACH, SET, Sorting an...
Neo4j CQL advanced queries: WHERE clause filtering, DELETE removal, SET updates, ORDER BY sorting and pagination. This article deeply analyzes principles and practical applications.
Hive ODS Layer JSON Parsing: UDF Array Extraction, explod...
JSON data processing in Hive offline data warehouse, covering three most common needs: 1) Extract array fields from JSON strings and explode-expand in SQL; 2)...
MyBatis Deep Dive - One-to-One Mapping, SqlMapConfig and ...
Detailed explanation of one-to-one model mapping in MyBatis, including database table design, Java entity class definitions, Mapper interface and XML configuration, and resultMap advanced mapping u...
Hive ODS Layer Practice: External Table Partition Loading...
Engineering implementation of the ODS (Operational Data Store) layer in an offline data warehouse: the minimal closed loop of Hive external table + daily...
Spark Streaming Integration with Kafka: Receiver and Dire...
Detailed explanation of two Spark Streaming integration modes with Kafka: Receiver-based high-level API vs Direct mode architecture differences, offset management, Exactly-Once semantics guarantee,...
MyBatis Deep Dive - Dynamic SQL, Parameters, Foreach, and...
In-depth explanation of MyBatis dynamic SQL configuration including if conditions, where tags, foreach loops, and sql fragment extraction. This article provides practical analysis of principles and...
Neo4j CQL Practice: CREATE/MATCH and Relationship Modeling
Neo4j CQL query language guide: CREATE creates nodes and relationships, MATCH queries graph data, with complete code examples for graph database operations and traversal patterns.
MyBatis Mapper Proxy Invoke - Source Code Analysis
Detailed introduction to MyBatis Mapper Proxy dynamic proxy implementation principles, including getMapper source code analysis and MapperMethod execution process. Practical analysis of principles ...
Flume Taildir + Custom Interceptor: Extract JSON Timestam...
Apache Flume's offline log collection chain, providing a set of engineering implementation: Use Taildir Source to monitor multiple directories and multiple...
MyBatis Deep Dive - SqlSessionFactory, SqlSession, DAO an...
In-depth explanation of MyBatis core components: SqlSessionFactory and SqlSession working principles, traditional DAO layer implementation, and MyBatis proxy development mode. Practical analysis of...