gpreload
gpreload
重新装载Greenplum数据库表数据,根据指定的列对数据进行排序。
概要
gpreload -d database [-p port] {-t | --table-file} path_to_file [-a] gpreload -h gpreload --version
描述
gpreload工具重新装载列数据被排序过的表数据。对于使用表存储选项APPENDONLY=TRUE并启用压缩创建的表,使用排序数据重新装载数据可以改善表压缩。用户在一个文本文件中指定要重新装载的表要排序的表列列表。
当列中的数据的不同值与行总数相比来说相对较小时,压缩可以通过对数据进行排序来改进。
对于正在重新装载的表,要排序的列顺序可能会影响压缩。具有最少不同值的列应该首先列出。例如,列出州和城市一般会导致比列出城市和州更好的压缩。
public.cust_table: state, city public.cust_table: city, state
有关gpreload使用的文件格式的信息,请参阅--table-file选项。
注解
为了提高重载性能,在重载数据之前,应该删除正在重载的表上的索引。
重新装载表数据后运行ANALYZE 命令可能会因为重新装载数据的数据分布发生更改而查询性能。
选项
- -a (不提示)
- 可选。如果指定,则gpreload工具不会提示用户进行确认。
- -d database
- 包含要重新装载的表的数据库。gpreload工具以运行该工具的用户的身份连接到数据库。
- -p port
- Greenplum数据库的Master端口。如果未指定,则使用PGPORT环境变量的值。如果该值不可用,则返回错误。
- {-t | --table-file } path_to_file
- 包含要重新装载的方案限定的表名列表的文件位置和名称,该文件中还有要从Greenplum数据库重新排序的列名。仅支持用户定义的表。视图或系统目录表不受支持。
- 如果在文件中列出的表上定义有索引,gpreload会提示继续。
- 每一行都指定一个表名和要排序的列的列表。这是文件中每一行的格式:
-
schema.table_name: column [desc] [, column2 [desc] ... ]
- 表名后跟一个冒号(:),然后至少一个列名。如果指定多个列,请使用逗号分隔列名称。列按升序排序。在列名后面指定关键字desc以降序对列进行排序。
- 通配符不受支持。
- 如果文件中有错误,gpreload会报告第一个错误并退出。
- 数据不会被重新装载。以下示例重新装载三个表:
public.clients: region, state, rep_id desc public.merchants: region, state test.lineitem: group, assy, whse
- 在第一个表public.clients中,rep_id列中的数据被按照降序排序。其他列中的数据被按照升序排序。
- --version (显示工具版本)
- 列出工具版本
- -? (帮助)
- 提供在线帮助
示例
此示例命令将重新装载文件data-tables.txt中列出的数据库mytest中的表。
gpreload -d mytest --table-file data-tables.txt
另见
Greenplum数据库参考指南中的CREATE TABLE