下载
编译与部署
开始使用
操作手册
- 数据导入
- 表结构变更
- 物化视图
- HTTP API
- FE
- MANAGER
- Bootstrap Action
- Cancel Load Action
- Check Decommission Action
- Check Storage Type Action
- Config Action
- Connection Action
- Get DDL Statement Action
- Get Load Info Action
- Get Load State
- Get FE log file
- Get Small File
- HA Action
- Hardware Info Action
- Health Action
- Log Action
- Logout Action
- Meta Action
- Meta Action
- Meta Replay State Action
- Profile Action
- Query Detail Action
- Query Profile Action
- Row Count Action
- Session Action
- Set Config Action
- Show Data Action
- Show Meta Info Action
- Show Proc Action
- Show Runtime Info Action
- Statement Execution Action
- System Action
- Table Query Plan Action
- Table Row Count Action
- Table Schema Action
- Upload Action
- CANCEL LABEL
- Compaction Action
- CONNECTION
- getlogfile
- GET LABEL STATE
- GET TABLETS ON A PARTICULAR BE
- PROFILE
- QUERY DETAIL
- RESTORE TABLET
- SHOW DATA
- MIGRATE SINGLE TABLET TO A PARTICULAR DISK
- GET TABLETS DISTRIBUTION BETWEEN DIFFERENT DISKS
- FE
- 运维操作
- 配置文件
- 拦截规则
- 备份与恢复
- Broker
- Colocation Join
- Bucket Shuffle Join
- 动态分区
- 数据导出
- 导出查询结果集
- 分区缓存
- 权限管理
- LDAP
- 资源管理
- 查询执行的统计
- Runtime Filter
- Segment V2 升级手册
- 文件管理器
- SQL MODE
- 时区
- 变量
- 更新
- 多租户和资源划分
最佳实践
扩展功能
- 审计日志插件
- Doris On ES
- Doris output plugin
- ODBC External Table Of Doris
- Doris 插件框架
- Spark Doris Connector
- Flink Doris Connector
- DataX doriswriter
- UDF
设计文档
SQL 手册
- SQL 函数
- 日期函数
- convert_tz
- curdate
- current_timestamp
- curtime,current_time
- date_add
- date_format
- date_sub
- datediff
- day
- dayname
- dayofmonth
- dayofweek
- dayofyear
- from_days
- from_unixtime
- hour
- makedate
- minute
- month
- monthname
- now
- second
- strtodate
- time_round
- timediff
- timestampadd
- timestampdiff
- to_days
- unix_timestamp
- utc_timestamp
- week
- weekofyear
- year
- yearweek
- 地理位置函数
- 字符串函数
- 聚合函数
- bitmap 函数
- Hash函数
- Doris 窗口函数使用
- CAST
- DIGITAL_MASKING
- 日期函数
- 语法帮助
- 用户账户管理
- 集群管理
- ADMIN CANCEL REPAIR
- ADMIN CLEAN TRASH
- ADMIN CHECK TABLET
- ADMIN REPAIR
- ADMIN SET CONFIG
- ADMIN SET REPLICA STATUS
- ADMIN SHOW CONFIG
- ADMIN SHOW REPLICA DISTRIBUTION
- ADMIN SHOW REPLICA STATUS
- ADMIN SHOW DATA SKEW
- ALTER CLUSTER
- ALTER SYSTEM
- CANCEL DECOMMISSION
- CREATE CLUSTER
- CREATE FILE
- DROP CLUSTER
- DROP FILE
- ENTER
- INSTALL PLUGIN
- LINK DATABASE
- MIGRATE DATABASE
- SET LDAPADMINPASSWORD
- SHOW BACKENDS
- SHOW BROKER
- SHOW FILE
- SHOW FRONTENDS
- SHOW FULL COLUMNS
- SHOW INDEX
- SHOW MIGRATIONS
- SHOW PLUGINS
- SHOW TABLE STATUS
- SHOW TRASH
- UNINSTALL PLUGIN
- DDL
- ALTER DATABASE
- ALTER TABLE
- ALTER VIEW
- BACKUP
- CANCEL ALTER
- CANCEL BACKUP
- CANCEL RESTORE
- CREATE DATABASE
- CREATE ENCRYPTKEY
- CREATE INDEX
- CREATE MATERIALIZED VIEW
- CREATE REPOSITORY
- CREATE RESOURCE
- CREATE TABLE LIKE
- CREATE TABLE
- CREATE VIEW
- DROP DATABASE
- DROP ENCRYPTKEY
- DROP INDEX
- DROP MATERIALIZED VIEW
- DROP REPOSITORY
- DROP RESOURCE
- DROP TABLE
- DROP VIEW
- HLL
- RECOVER
- RESTORE
- SHOW ENCRYPTKEYS
- SHOW RESOURCES
- TRUNCATE TABLE
- CREATE FUNCTION
- DROP FUNCTION
- SHOW FUNCTIONS
- DML
- BROKER LOAD
- CANCEL LOAD
- DELETE
- EXPORT
- GROUP BY
- LOAD
- MINI LOAD
- MULTI LOAD
- PAUSE ROUTINE LOAD
- RESUME ROUTINE LOAD
- ROUTINE LOAD
- SHOW ALTER
- SHOW BACKUP
- SHOW CREATE FUNCTION
- SHOW CREATE ROUTINE LOAD
- SHOW DATA
- SHOW DATABASES
- SHOW DELETE
- SHOW DYNAMIC PARTITION TABLES
- SHOW EXPORT
- SHOW LOAD
- SHOW PARTITIONS
- SHOW PROPERTY
- SHOW REPOSITORIES
- SHOW RESTORE
- SHOW ROUTINE LOAD TASK
- SHOW ROUTINE LOAD
- SHOW SNAPSHOT
- SHOW TABLES
- SHOW TABLET
- SHOW TRANSACTION
- SPARK LOAD
- STOP ROUTINE LOAD
- STREAM LOAD
- ALTER ROUTINE LOAD
- INSERT
- UPDATE
- 数据类型
- 辅助命令
开发者手册
- 调试工具
- Doris BE存储层Benchmark工具
- 使用 Eclipse 搭建 FE 开发环境
- 使用 IntelliJ IDEA 搭建 FE 开发环境
- Apache Doris Be 开发调试
- Java 代码格式化
- C++ 代码格式化
Apache 社区
使用 Eclipse 搭建 FE 开发环境
环境准备
- JDK 1.8+
- Maven 3.x+
- Eclipse,并已安装 M2Eclipse
代码生成
FE 模块需要部分生成代码,如 Thrift、Protobuf, jflex, cup 等框架的生成代码。这部分需要在 Linux 或者 Mac环境生成。
在 Linux 下, 进入 `fe 目录下执行以下命令:
mvn generate-sources
如果使用window开发 需要将生成的
fe/fe-core/target/generated-sources
目录打包:fe/fe-core/target/ && tar czf java.tar.gz generated-sources/
将
java.tar.gz
拷贝到开发环境的fe/fe-core/target/
目录下,并解压cp java.tar.gz /path/to/doris/fe/fe-core/target/ cd /path/to/doris/fe/fe-core/target/ && tar xzf java.tar.gz
导入 FE 工程
在开发环境的
fe/
目录下,执行以下命令生成 Eclipse 工程文件:cd /path/to/doris/fe/ && mvn -npr eclipse:eclipse -Dskip.plugin=true
执行完成后,会在
fe/
目录下生成.project
和.classpath
文件导入 FE 工程
- 打开 Eclipse,选择
File -> Import
。 - 选择
General -> Existing Projects into Workspace
。 Select root directory
选择fe/
目录,点击Finish
完成导入。- 右击工程,选择
Build Path -> Configure Build Path
。 - 在
Java Build Path
对话框中,选择Source
标签页,点击Add Folder
,勾选添加之前拷贝并解压的java/
目录。 - 点击
Apply and Close
完成。
- 打开 Eclipse,选择
至此,FE 导入完成。Eclipse 中的工程目录大致如下:
运行单元测试
在想要运行的单元测试文件上右击,选择 Run As -> JUnit Test
。(如果要单步调试,则选择 Debug As -> JUnit Test
)。
如果出现以下错误:
java.lang.Exception: Method xxxx should have no parameters
则右击单元测试文件,选择 Run As -> Run Configurations...
。(如果要单步调试,则选择 Debug As -> Debug Configurations...
)。
在 Arguments
标签页中的 VM arguments
中添加:
-javaagent:${settings.localRepository}/org/jmockit/jmockit/1.48/jmockit-1.48.jar
其中 ${settings.localRepository}
要换成 maven lib 库的路径,如:
-javaagent:/Users/cmy/.m2/repository/org/jmockit/jmockit/1.48/jmockit-1.48.jar
之后在运行 Run/Debug
即可。
运行 FE
可以在 Eclipse 中直接启动一个 FE 进程,方便对代码进行调试。
创建一个运行目录:
mkdir /path/to/doris/fe/run/ cd /path/to/doris/fe/run/ mkdir conf/ log/ palo-meta/
创建配置文件
在第一步创建的
conf/
目录下创建配置文件fe.conf
。你可以直接将源码目录下conf/fe.conf
拷贝过来并做简单修改。在 Eclipse 中找到
src/main/java/org/apache/doris/PaloFe.java
文件,右击选择Run As -> Run Configurations...
。在Environment
标签页中添加如下环境变量:DORIS_HOME: /path/to/doris/fe/run/
PID_DIR: /path/to/doris/fe/run/
LOG_DIR: /path/to/doris/fe/run/log
右击
PaloFe.java
,选择Run As -> Java Application
,则可以启动 FE。
代码更新
更新词法、语法文件或者thrift 和proto 文件
如果修改了
fe/fe-core/src/main/cup/sql_parser.cup
或者fe/fe-core/src/main/jflex/sql_scanner.flex
文件或者proto 和thrift 文件。则需在fe
目录下执行以下命令:mvn generate-sources
之后在 Eclipse 中刷新工程即可。
更新 maven 依赖
如果更新了
fe/pom.xml
中的依赖,则需在fe/
目录下执行以下命令:mvn -npr eclipse:eclipse -Dskip.plugin=true
之后在 Eclipse 中刷新工程即可。如无法更新,建议删除工程,并按照该文档重新导入一遍即可。
Import 顺序
为了保持 Java 的 Import 顺序,请执行如下操作设定项目的 Import Order
创建文件
fe_doris.importorder
并写入以下内容:#Organize Import Order #Wed Jul 01 16:42:47 CST 2020 4=javax 3=java 2=org 1=com 0=org.apache.doris
打开 Eclipse 的偏好设置(Preferences),选择
Java -> Code Style -> Organize Imports
。点击Import
导入上述文件。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论