免费最好网站建设,天津百度网络推广,wordpress 调用编辑器,seo的基本步骤顺序正确的是文章目录 LibrA(MPP)批量数据导入COPY导入GDS导入HDFS导入 LibrA(MPP)批量数据导入
COPY导入
多数数据库拥有该命令适用: 低并发#xff0c;本地小数据量导入示例A - 从文件中copy--从/home/jerry/data01.txt文件拷贝数据到表tb_test
COPY tb_test
FROM /home/jerry/data01… 文章目录 LibrA(MPP)批量数据导入COPY导入GDS导入HDFS导入 LibrA(MPP)批量数据导入
COPY导入
多数数据库拥有该命令适用: 低并发本地小数据量导入示例A - 从文件中copy--从/home/jerry/data01.txt文件拷贝数据到表tb_test
COPY tb_test
FROM /home/jerry/data01.txt
WITH(format text, -- 导入格式为TEXTdelimiter ,, -- 分隔符为,ignore_extra_data true, -- 忽略多余列noescaping true -- 不指定转义
);示例B - 从标准输入中copy 利用gaussdb200对应的jdbc的jar包使用CopyManager导入数据代码如下// 将数据转换为InputStream
ArrayListString list new ArrayList();
list.add(xiaowang,18,beijing);
list.add(xiaohong,22,shanghai);
list.add(lilei,25,guangdong);
String data String.join(\n, list);
ByteArrayInputStream in new ByteArrayInputStream(data.getBytes(UTF-8));
// 拷贝
CopyManager copyManager new CopyManager((BaseConnection)connection);
copyManager.copyIn(COPY tableName FROM STDIN, in); COPY tb_test FROM STDIN WITH(delimiter ,, encoding UTF-8) WITH后面可以传入分隔符、指定字符集推荐字段分隔符为$^换行符为$^#则执行语句为 COPY tb_name FROM STDIN WITH(FORMAT text, DELIMITER $^, EOL $^#)
GDS导入
架构图:利用多个DataNode并行将数据导入到LibrA数据库中适用: 高并发、大数据量导入操作示例: 数据导入流程图 蓝色路径建立外表指向服务器的GDS进程GDS进程指向数据源路径橙色路径执行SQL从外表插入数据到实际表。外表向GDS进程取数据GDS从数据路径获取 GDS工具安装 GDS工具由华为提供 Gauss200-OLAP-V100R006C10-REDHAT-64bit-gauss-loader.tar.gz在Linux服务器上解压后进入gauss_loaders目录执行install_gaussload.sh 命令即可安装gds命令在…/gauss_loaders/bin/gds/gds GDS工具运行 示例: …/gauss_loaders/bin/gds/gds -d /data/test -p 192.168.0.10:5000 -H 192.168.0.115/24 -l /home/jerry/log/gds_log.txt -D -t 2命令解释: -d 指定数据路径文件夹 -p 指定GDS进程IP和端口-H 指定MPP数据库其中一台主节点服务器IP -l 指定日志输出文件 在MPP库中建立外表 建外表示例: CREATE FOREIGN TABLE foreign_test (-- 外表字段结构应和实际表一样但不能加字段约束等类似的标记name VARCHAR(20),phone VARCHAR(20),address VARCHAR(30)
)
SERVER gsmpp_server
OPTIONS (location gsfs://192.168.0.10:5000/*, -- location参数 指定了GDS所在的服务器format CSV,mode normal, encoding utf8, delimiter ,, -- delimiter参数 指定了数据源每个字段之间的分割符quote E\x1b, null ,fill_missing_fields false
)
LOG INTO err_test PER NODE REJECT -- LOG INTO err_test 指定了错误日志的输出到err_test表会自动创建
LIMIT unlimited;数据源样例路径 /data/test/p-0001
内容
小明,18912345678,北京
小王,15112345678,重庆
小红,13912345678,上海执行SQL导入数据至LibrA(MPP) 确保数据源已经准备好确保GDS进程已经配置正确且已开启确保MPP库中外表建立无误使用SQL查询外表数据插入到实际表中插入SQL示例 INSERT INTO tb_test SELECT * FROM foreign_test;HDFS导入 将HDFS上的大量数据快速导入到LibrA(MPP) 适用: 大批量导入HDFS上数据量过大无法导出到本地使用GDS导入。 操作示例: 在FusionInsightManager管理界面给LibrA(MPP)添加跨集群访问HDFS的配置项 参数描述remote_connect_hdfs_enable是否开启远端连接HDFS功能的开关请修改为trueremote_connect_core_config_fileHDFS的配置文件core-site.xmlremote_connect_hdfs_config_fileHDFS的配置文件hdfs-site.xmldfs.namenode.kerberos.principal安全模式集群的用户名remote_connect_krb5_conf_file安全模式认证鉴权文件krb5.confremote_connect_user_keytab_file安全模式认证鉴权文件user.keytab 取得当前库的外部数据服务访问权限 登入LibrA的主节点之一使用omm用户加载环境变量示例 $source /opt/huawei/Bigdata/mppdb/.mppdbgs_profile 不同集群可能不一样以管理员身份进入对应的数据库 $gsql db_name -p 25308 -r创建 hdfs_server执行 SQLCREATE SERVER hdfs_server FOREIGN DATA WRAPPER hdfs_fdw
OPTIONS (address 10.10.0.100:25000,10.10.0.101:25000, -- HDFS集群的主备节点所在的IP地址以 及端口hdfscfgpath /opt/hadoop_client/HDFS/hadoop/etc/hadoop -- HDFS集群配置文件路径不一定需要指定
);授权执行SQLGRANT USAGE ON FOREIGN SERVER hdfs_server TO username;创建指向HDFS目录的外表示例: CREATE FOREIGN TABLE region_test(name TEXT,phone TEXT,address TEXT
)
SERVER hdfs_server -- 外部数据服务名称
OPTIONS(FORMART orc, -- 数据文件格式目前只支持orc格式FOLDERNAME /data/test -- HDFS数据存储路径
)
DISTRIBUTE BY roundrobin;执行SQL导入数据至LibrA(MPP) INSERT INTO tb_test SELECT * FROM region_test;