diff --git a/source/_posts/MySQL.md b/source/_posts/MySQL.md index 28ee339..7ad58be 100644 --- a/source/_posts/MySQL.md +++ b/source/_posts/MySQL.md @@ -969,3 +969,43 @@ Maven下载依赖 仅用于分表。仅DATE、DATETIME类型。 一年之中第几天%分表数。tbpartitions不能超过366。 + +# MySQL 查询语句 + +## 查询语句中字段别名取表中的comment + +在 MySQL 中,字段的 comment 并不存储在数据行里,而是放在 **information_schema.COLUMNS** 中。 +因此可以通过把 **column_comment** 查出来,再拼成 **SELECT 语句的别名**,实现“用表中字段的 comment 做别名”的效果。 + +一次性查出某张表所有列,并把 comment 作为别名: + +```mysql +-- 示例:表名 mydb.mytable +SELECT CONCAT( + 'SELECT ', + GROUP_CONCAT( + CONCAT('`', COLUMN_NAME, '` AS `', REPLACE(COLUMN_COMMENT, '`', ''), '`') + ORDER BY ORDINAL_POSITION + ), + ' FROM mytable;' + ) AS sql_text +FROM information_schema.COLUMNS +WHERE TABLE_SCHEMA = 'mydb' + AND TABLE_NAME = 'mytable'; +``` + +执行后得到一条 SQL,例如: + +```mysql +SELECT id AS 主键, name AS 用户名, age AS 年龄 FROM mytable; +``` + +**拼 SQL 时丢列** +上一段拼接脚本里 `GROUP_CONCAT` 有 **长度限制**(默认 1024 字节)。 +如果表列很多,会被截断导致看起来“少字段”。 +解决方法: + +```mysql +SET SESSION group_concat_max_len = 1000000; -- 临时放大 +``` + diff --git a/source/_posts/Vim.md b/source/_posts/Vim.md index c1fd7d4..3bee338 100644 --- a/source/_posts/Vim.md +++ b/source/_posts/Vim.md @@ -69,10 +69,12 @@ vim 的各种工作模式可以通过不同的键进行切换,用户统一使 在底线命令模式中,基本的命令有(已经省略了冒号): -- :w: 保存文件 -- :q: 退出 Vim 编辑器 -- :wq: 保存文件并退出 Vim 编辑器 -- :q!: 强制退出 Vim 编辑器,不保存修改 +- :w 保存文件 +- :q 退出 Vim 编辑器 +- :wq 保存文件并退出 Vim 编辑器 +- :q! 强制退出 Vim 编辑器,不保存修改 +- :set nu 开启行号 +- :set nonu 关闭行号 按`ESC`键可随时退出底线命令模式。 @@ -183,4 +185,20 @@ vim 的各种工作模式可以通过不同的键进行切换,用户统一使 +# Vim配置文件 +## 当前用户配置文件(~/.vimrc) + +若在当前用户目录下没有`.vimrc`,则手动新建即可 + +```bash +vim ~/.vimrc +``` + +其中可添加如命令模式中的命令,比如`set nu`,之后再打开vim则默认开启行号 + +``` +set nu +``` + +`:wq`保存退出后,需使用`source ~/.vimrc`使改动生效 diff --git a/source/_posts/大数据.md b/source/_posts/大数据.md index 589a5fa..a12b8fb 100644 --- a/source/_posts/大数据.md +++ b/source/_posts/大数据.md @@ -10,6 +10,196 @@ tags: ## 安装 +### Docker Compose 方式 + +> [Quick Start - Apache Doris](https://doris.apache.org/docs/dev/gettingStarted/quick-start) + +新建用于Docker Compose 集群编排启动目录`mkdir -p /OLAP/doris` + +```bash +mkdir -p /OLAP/doris +``` + +编写启动脚本`start-doris.sh` + +> https://doris.apache.org/files/start-doris.sh + +```sh +#!/bin/bash + +# Default version +DORIS_QUICK_START_VERSION="2.1.9" + +# Parse parameters +while getopts "v:" opt; do + case $opt in + v) DORIS_QUICK_START_VERSION="$OPTARG" + ;; + \?) echo "Invalid option: -$OPTARG" >&2 + exit 1 + ;; + esac +done + +# Check system type +OS_TYPE=$(uname -s) +if [[ "$OS_TYPE" != "Linux" && "$OS_TYPE" != "Darwin" ]]; then + echo "Error: Unsupported operating system [$OS_TYPE], only Linux and Mac are supported" + exit 1 +fi + +# Check Docker environment +if ! command -v docker &> /dev/null; then + echo "Error: Docker environment not detected, please install Docker first" + exit 1 +fi + +# Check docker-compose +COMPOSE_CMD="" +if command -v docker-compose &> /dev/null; then + COMPOSE_CMD="docker-compose" +elif docker compose version &> /dev/null; then + COMPOSE_CMD="docker compose" +else + echo "Error: docker-compose plugin or docker-compose command is required" + exit 1 +fi + +# Generate docker-compose configuration for corresponding system +if [[ "$OS_TYPE" == "Linux" ]]; then + cat > docker-compose-doris.yaml < docker-compose-doris.yaml <