云服务器内容精选
-
Loader宏定义 目前Loader默认支持以下时间宏定义: 表1 Loader常用宏定义 名称 替换后效果 说明 @{dateformat("yyyy-MM-dd")}@ 2016-05-17 当前日期。 @{dateformat("yyyy-MM-dd HH:mm:ss")}@ 2016-05-17 16:50:00 当前日期和时间。 @{timestamp()}@ 1463476137557 从1970年到现在的毫秒数。 @{dateformat("yyyy-MM-dd HH:mm:ss",-7,DAYS)}@ 2016-05-10 16:50:00 最近7天,即当前时间减7天。 第二个参数支持加减运算。 第三个参数为时间运算的单位,参考“java.util.concurrent.TimeUnit.java”定义,分为DAYS、HOURS 、MINUTES、SECONDS。 在以下场景中,可以使用宏进行配置参数: 指定以当天时间命名的数据目录 参数项配置为“/user/data/inputdate_@{dateformat("yyyy-MM-dd")}@”。 通过SQL语句查询最近7天的数据 select * from table where time between '@{dateformat("yyyy-MM-dd HH:mm:ss",-7,DAYS)}@' and '@{dateformat("yyyy-MM-dd HH:mm:ss")}@' 指定当天的表名 参数项配置为“table_@{dateformat("yyyy-MM-dd")}@”。
-
前提条件 创建或获取该任务中创建Loader作业的业务用户和密码。 确保用户已授权访问作业执行时操作的HDFS/OBS目录、HBase表和数据。 获取外部数据源(SFTP服务器或关系型数据库)使用的用户和密码。 检查磁盘空间,确保没有出现告警且余量满足导入、导出数据的大小。 使用Loader从SFTP、FTP和HDFS/OBS导入数据时,确保外部数据源的输入路径目录名、输入路径的子目录名及子文件名不能包含特殊字符/\"':;,中的任意字符。 如果设置的任务需要使用指定Yarn队列功能,该用户需要已授权有相关Yarn队列的权限。 设置任务的用户需要获取该任务的执行权限,并获取该任务对应的连接的使用权限。
-
答案 generic-jdbc-connector 使用JDBC方式从Oracle数据库读取数据,适用于支持JDBC的数据库。 在这种方式下,Loader加载数据的性能受限于分区列的数据分布是否均匀。当分区列的数据偏斜(数据集中在一个或者几个值)时,个别Map需要处理绝大部分数据,进而导致索引失效,造成SQL查询性能急剧下降。 generic-jdbc-connector支持视图的导入导出,而oracle-partition-connector和oracle-connector暂不支持,因此导入视图只能选择该连接器。 oracle-partition-connector和oracle-connector 这两种连接器都支持按照Oracle的ROWID进行分区(oracle-partition-connector是自研,oracle-connector是社区开源版本),二者的性能较为接近。 oracle-connector需要的系统表权限较多,下面是各自需要的系统表,需要赋予读权限。 oracle-connector:dba_tab_partitions、dba_constraints、dba_tables、dba_segments、v$version、dba_objects、v$instance、SYS_CONTEXT函数、dba_extents、dba_tab_subpartitions。 oracle-partition-connector:DBA_OBJE CTS 、DBA_EXTENTS。 相比于generic-jdbc-connector,oracle-partition-connector和oracle-connector具有以下优点: 负载均匀,数据分片的个数和范围与源表的数据无关,而是由源表的存储结构(数据块)确定,颗粒度可以达到“每个数据块一个分区”。 性能稳定,完全消除“数据偏斜”和“绑定变量窥探”导致的“索引失效”。 查询速度快,数据分片的查询速度比用索引快。 水平扩展性好,如果数据量越大,产生的分片就越多,所以只要增加任务的并发数,就可以获得较理想的性能;反之,减少任务并发数,就可以节省资源。 简化数据分片逻辑,不需要考虑“精度丢失”、“类型兼容”和“绑定变量”等问题。 易用性得到增强,用户不需要专门为Loader创建分区列、分区表。
-
日志级别 Loader中提供了如表2所示的日志级别,日志级别优先级从高到低分别是ERROR、WARN、INFO、DEBUG,程序会打印高于或等于所设置级别的日志,设置的日志等级越高,打印出来的日志就越少。 表2 日志级别 级别 描述 ERROR ERROR表示错误日志输出。 WARN WARN表示当前事件处理存在异常信息。 INFO INFO表示系统及各事件正常运行状态信息。 DEBUG DEBUG表示系统及系统调试信息。 如果您需要修改日志级别,请执行如下操作: 请参考修改集群服务配置参数,进入Loader的“全部配置”页面。 左边菜单栏中选择所需修改的角色所对应的日志菜单。 选择所需修改的日志级别。 保存配置,在弹出窗口中单击“确定”,完成后重启服务使配置生效。
-
参数说明 表1 算子参数说明 参数 含义 类型 是否必填 默认值 Hive文件存储格式 配置Hive表文件的存储格式(目前支持四种格式: CS V、ORC、RC和PARQUET)。 说明: PARQUET格式是一种列式存储格式,PARQUET要求Loader的输出字段名和Hive表中的字段名保持一致。 Hive 1.2.0版本之后,Hive使用字段名称替代字段序号对ORC文件进行解析,因此,Loader的输出字段名和Hive表中的字段名需要保持一致。 enum 是 CSV Hive文件压缩格式 在下拉菜单中选择Hive表文件的压缩格式,未配置或选择“NONE”表示不压缩数据。 enum 是 NONE Hive ORC文件版本 通过该字段配置ORC文件的版本(当Hive表文件的存储格式是ORC时)。 enum 是 0.12 输出分隔符 配置分隔符。 string 是 无 输出字段 配置输出信息: 位置:配置输出字段的位置。 字段名:配置输出字段的字段名。 类型:配置字段类型,字段类型为“DATE”或“TIME”或“TIMESTAMP”时,需指定特定时间格式,其他类型指定无效。时间格式如:“yyyyMMdd HH:mm:ss”。 十进制格式:配置小数的刻度和精度。 长度:配置字段长度,字段值实际长度太长则按配置的长度截取,“类型”为“CHAR”时实际长度不足则空格补齐,“类型”为“VARCHAR”时实际长度不足则不补齐。 分区键:配置是否为分区列。可以不指定分区列,也可以指定多个分区列。配置多个列为分区列时,会按照配置列的先后顺序对其进行拼接。 map 是 无
-
参数说明 表1 算子参数说明 参数 含义 类型 是否必填 默认值 转换类型 配置长整型时间转换类型: long to date:长整型数值转换为DATE类型。 long to time:长整型数值转换为TIME类型。 long to timestamp:长整型数值转换为TIMESTAMP类型。 date to long:DATE类型转换为长整型数值。 time to long:TIME类型转换为长整型数值。 timestamp to long:TIMESTAMP类型转换为长整型数值。 enum 是 long to date 输入字段名 配置输入的待转换字段名称,需填写上一个转换步骤生成的字段名。 string 是 无 输出字段名 配置输出字段的字段名。 string 是 无 字段单位 配置长整型数值字段的单位,根据“转换类型”长整型数据可以是输入字段或生成字段,可选值为“second”和“milisecond”。 enum 是 second 输出字段类型 配置输出字段的类型,可选值为“BIGINT”,“DATE”,“TIME”和“TIMESTAMP”。 enum 是 BIGINT 时间格式 配置时间字段格式,时间格式如:“yyyyMMdd HH:mm:ss”。 string 否 无
-
参数说明 表1 算子参数说明 参数 含义 类型 是否必填 默认值 分隔符 CSV文件的列分隔符,用于分隔每行的数据。 string 是 , 换行符 用户根据数据实际情况,填写字符串作为换行符。支持任何字符串。默认使用操作系统的换行符。 string 否 \n 文件名是否作为字段 自定义一个字段,以当前数据所在的文件名作为该字段值。 string 否 无 绝对路径 配置“文件名是否作为字段”引用文件名环境,选中单选框时是带绝对路径的文件名;不选中单选框时是不带路径的文件名。 boolean 否 不选中 验证输入字段 是否检验输入字段与值的类型匹配情况,值为“NO”,不检查;值为“YES”,检查。如果不匹配则跳过该行。 enum 是 YES 输入字段 配置输入字段的相关信息: 位置:源文件每行被列分隔符分隔后,目标字段对应的位置,从1开始编号。 字段名:配置字段名。 类型:配置字段类型。 数据格式:字段类型为“DATE”或“TIM”E或“TIMESTAMP”时,需指定特定时间格式,其他字段类型指定无效。时间格式如:“yyyyMMdd HH:mm:ss”。 长度:配置字段长度,字段值太长则按配置的长度截取,类型为“CHAR”时实际长度不足则空格补齐,类型为“VARCHAR”时实际长度不足则不补齐。 map 是 无
-
转换流程 Loader读取源端数据,通过输入算子将数据按规则逐一转换成字段,再通过转换算子,对这些字段做清洗或转换,最后通过输出算子将处理后的字段,输出到目标端。 每个作业,如果进行数据转换操作,有且只能有一个输入算子,有且只能有一个输出算子。 不符合转换规则的数据,将成为脏数据跳过。 从关系型数据库导入数据到HDFS/OBS,可以不用配置数据转换,数据将按“,”分隔保存到HDFS/OBS。 从HDFS/OBS导出数据到关系型数据库,可以不用配置数据转换,数据将按“,”分隔保存到关系型数据库。
-
算子简介 Loader算子包括以下类型: 输入算子 数据转换的第一步,负责将数据转换成字段,每次转换有且只能有一种输入算子,涉及HBase或Hive导入导出时,必须填写。 转换算子 数据转换的中间转换步骤,属于可选类型,各个转换算子可任意搭配使用。转换算子是针对字段而言,必须先使用输入算子,将数据转换成字段。 输出算子 数据转换的最后一步,每次转换有且只能有一种输出算子,用于输出处理后的字段。涉及HBase或Hive导入导出时,必须填写。 表1 算子分类一览表 类型 描述 输入 CSV文件输入:将文件的每一行按指定分隔符转换成多个输入字段。 固定宽度文件输入:将文件的每一行,按可配置长度的字符或字节,转换成多个输入字段。 表输入:将关系型数据库表的指定列按顺序转换成同等数量的输入字段。 HBase输入:将HBase表的指定列转换成同等数量的输入字段。 HTML输入:将HTML文件中的元素转换成输入字段。 Hive输入:将Hive表的指定列转换成同等数量的输入字段。 转换 长整型时间转换:实现长整型数值与日期类型的互换。 空值转换:将空值替换成指定值。 增加常量字段:生成常量字段。 随机值转换:生成随机数字段。 拼接转换:拼接已有字段,生成新字段。 分隔转换:将已有字段,按指定分隔符,分隔出新字段。 取模转换:对已有字段取模,生成新字段。 剪切字符串:通过指定起始位置,截取已有字符串类型的字段,生成新字段。 EL操作转换:指定算法,对字段值进行运算,目前支持的算法有:md5sum、sha1sum、sha256sum和sha512sum等。 字符串大小写转换:对已有的字符串类型字段,切换大小写,生成新字段。 字符串逆序转换:对已有的字符串类型字段,做逆序变换,生成新字段。 字符串空格清除转换:对已有的字符串类型字段,清除左右空格,生成新字段。 过滤行转换:配置逻辑条件过滤掉含触发条件的行。 更新域:当满足某些条件时,更新字段的值。 输出 Hive输出:将已生成的字段输出到Hive表。 表输出:将已生成的字段输出到关系型数据库表。 文件输出:将已生成的字段通过分隔符连接并输出到文件。 HBase输出:将已生成的字段输出到HBase表。
-
前提条件 创建或获取该任务中创建Loader作业的业务用户和密码。 确保用户已授权访问作业执行时操作的目录、HBase表和数据。 获取外部数据源(SFTP服务器或关系型数据库)使用的用户和密码。 检查磁盘空间,确保没有出现告警且余量满足导入、导出数据的大小。 使用Loader从HDFS/OBS导出数据时,确保HDFS/OBS数据源的输入路径目录名、输入路径的子目录名及子文件名不能包含特殊字符/\"':;,中的任意字符。 如果设置的任务需要使用指定Yarn队列功能,该用户需要已授权有相关Yarn队列的权限。 设置任务的用户需要获取该任务的执行权限,并获取该任务对应的连接的使用权限。
-
Loader数据导入简介 Loader是实现 MRS 与外部数据源如关系型数据库、SFTP服务器、FTP服务器之间交换数据和文件的ETL工具,支持将数据或文件从关系型数据库或文件系统导入到MRS系统中。 Loader支持如下数据导入方式: 从关系型数据库导入数据到HDFS/OBS 从关系型数据库导入数据到HBase 从关系型数据库导入数据到Phoenix表 从关系型数据库导入数据到Hive表 从SFTP服务器导入数据到HDFS/OBS 从SFTP服务器导入数据到HBase 从SFTP服务器导入数据到Phoenix表 从SFTP服务器导入数据到Hive表 从FTP服务器导入数据到HDFS/OBS 从FTP服务器导入数据到HBase 从FTP服务器导入数据到Phoenix表 从FTP服务器导入数据到Hive表 从同一集群内HDFS/OBS导入数据到HBase MRS与外部数据源交换数据和文件时需要连接数据源。系统提供以下连接器,用于配置不同类型数据源的连接参数: generic-jdbc-connector:关系型数据库连接器。 ftp-connector:FTP数据源连接器。 hdfs-connector:HDFS数据源连接器。 oracle-connector:Oracle数据库专用连接器,使用row_id作为分区列,相对generic-jdbc-connector来说,Map任务分区更均匀,并且不依赖分区列是否有创建索引。 mysql-fastpath-connector:MYSQL数据库专用连接器,使用MYSQL的mysqldump和mysqlimport工具进行数据的导入导出,相对generic-jdbc-connector来说,导入导出速度更快。 sftp-connector:SFTP数据源连接器。 oracle-partition-connector:支持Oracle分区特性的连接器,专门对Oracle分区表的导入导出进行优化。 使用FTP数据源连接器时不加密数据,可能存在安全风险,建议使用SFTP数据源连接器。 建议将SFTP服务器、FTP服务器和数据库服务器与Loader部署在独立的子网中,以保障数据安全地导入。 与关系数据库连接时,可以选择通用数据库连接器(generic-jdbc-connector)或者专用数据库连接器(oracle-connector、oracle-partition-connector、mysql-fastpath-connector),专用数据库连接器特别针对具体数据库类型进行优化,相对通用数据库连接器来说,导出、导入速度更快。 使用mysql-fastpath-connector时,要求在NodeManager节点上有MySQL的mysqldump和mysqlimport命令,并且此两个命令所属MySQL客户端版本与MySQL服务器版本兼容,如果没有这两个命令或版本不兼容,请参考http://dev.mysql.com/doc/refman/5.7/en/linux-installation-rpm.html,安装MySQL client applications and tools。 使用oracle-connector时,要求给连接用户赋予如下系统表或者视图的select权限: dba_tab_partitions、dba_constraints、dba_tables 、dba_segments 、v$version、dba_objects、v$instance、SYS_CONTEXT函数、dba_extents、 dba_tab_subpartitions。 使用oracle-partition-connector时,要求给连接用户赋予如下系统表的select权限:dba_objects、dba_extents。
-
Loader数据导出简介 Loader支持将数据或者文件从MRS系统中导出到关系型数据库或文件系统中,Loader支持如下数据导出方式: 从HDFS/OBS中导出数据到SFTP服务器 从HDFS/OBS中导出数据到关系型数据库 从HBase中导出数据到SFTP服务器 从HBase中导出数据到关系型数据库 从Phoenix表导出数据到SFTP服务器 从Phoenix表导出数据到关系型数据库 从Hive中导出数据到SFTP服务器 从Hive中导出数据到关系数据库 从同一集群内HBase导出数据到HDFS/OBS
-
Loader连接配置说明 Loader支持以下多种连接: generic-jdbc-connector:参数配置请参见表1。 ftp-connector:参数配置请参见表2。 sftp-connector:参数配置请参见表3。 hdfs-connector:参数配置请参见表4。 oracle-connector:参数配置请参见表5。 mysql-fastpath-connector:参数配置请参见表7。 oracle-partition-connector:参数配置请参见表6。
-
操作步骤 MRS 3.x之前版本: 从MySQL官网下载MySQL jdbc驱动程序“mysql-connector-java-5.1.21.jar”,具体MySQL jdbc驱动程序选择参见下表。 表1 版本信息 jdbc驱动程序版本 MySQL版本 Connector/J 5.1 MySQL 4.1、MySQL 5.0、MySQL 5.1、MySQL 6.0 alpha Connector/J 5.0 MySQL 4.1、MySQL 5.0 servers、distributed transaction (XA) Connector/J 3.1 MySQL 4.1、MySQL 5.0 servers、MySQL 5.0 except distributed transaction (XA) Connector/J 3.0 MySQL 3.x、MySQL 4.1 将“mysql-connector-java-5.1.21.jar”上传至MRS master 主备节点loader安装目录。 针对MRS 3.x之前版本,上传至“/opt/Bigdata/MRS_XXX/install/ FusionInsight -Sqoop-1.99.7/FusionInsight-Sqoop-1.99.7/server/jdbc/” 其中“XXX”为MRS版本号,请根据实际情况修改。 修改“mysql-connector-java-5.1.21.jar”包属主为“omm:wheel”。 修改配置文件“jdbc.properties”。 将“MYSQL”的键值修改为上传的jdbc驱动包名“mysql-connector-java-5.1.21.jar”,例如:MYSQL=mysql-connector-java-5.1.21.jar。 重启Loader服务。
-
创建作业 访问Loader页面,单击“新建作业”。 在“基本信息”填写参数。 在“名称”填写一个作业的名称。 在“源连接”和“目的连接”选择对应的连接。 选择某个类型的连接,表示从指定的源获取数据,并保存到目的位置。 如果没有需要的连接,可单击“添加新连接”。 在“自”填写源连接的作业配置。 具体请参见Loader作业源连接配置说明。 在“至”填写目的连接的作业配置。 具体请参见Loader作业目的连接配置说明。 在“目的连接”是否选择了数据库类型的连接。 数据库类型的连接包含以下几种: generic-jdbc-connector hbase-connector hive-connector “目的连接”选择数据库类型的连接时,还需要配置业务数据与数据库表字段的对应关系: 是,请执行6。 否,请执行7。 在“字段映射”填写字段对应关系。然后执行7。 “字段映射”的对应关系,表示用户数据中每一列与数据库的表字段的匹配关系。 表1 “字段映射”属性 参数 说明 列号 表示业务数据的字段顺序。 样本 表示业务数据的第一行值样例。 列族 “目的连接”为hbase-connector类型时,支持定义保存数据的具体列族。 目的字段 配置保存数据的具体字段。 类型 显示用户选择字段的类型。 行键 “目的连接”为hbase-connector类型时,需要勾选作为行键的“目的字段”。 如果From是sftp/ftp/obs/hdfs等文件类型连接器,Field Mapping 样值取自文件第一行数据,需要保证第一行数据是完整的,Loader作业不会抽取没有Mapping上的列。 在“任务配置”填写作业的运行参数。 表2 Loader作业运行属性 参数 说明 抽取并发数 设置map任务的个数。 加载(写入)并发数 设置reduce任务的个数。 该参数只有在目的字段为Hbase和Hive时才会显示。 单个分片的最大错误记录数 设置一个错误阈值,如果单个map任务的错误记录超过设置阈值则任务自动结束,已经获取的数据不回退。 说明: “generic-jdbc-connector”的“MYSQL”和“MPPDB”默认批量读写数据,每一批次数据最多只记录一次错误记录。 脏数据目录 设置一个脏数据目录,在出现脏数据的场景中在该目录保存脏数据。如果不设置则不保存。 单击“保存”。
更多精彩内容
CDN加速
GaussDB
文字转换成语音
免费的服务器
如何创建网站
域名网站购买
私有云桌面
云主机哪个好
域名怎么备案
手机云电脑
SSL证书申请
云点播服务器
免费OCR是什么
电脑云桌面
域名备案怎么弄
语音转文字
文字图片识别
云桌面是什么
网址安全检测
网站建设搭建
国外CDN加速
SSL免费证书申请
短信批量发送
图片OCR识别
云数据库MySQL
个人域名购买
录音转文字
扫描图片识别文字
OCR图片识别
行驶证识别
虚拟电话号码
电话呼叫中心软件
怎么制作一个网站
Email注册网站
华为VNC
图像文字识别
企业网站制作
个人网站搭建
华为云计算
免费租用云托管
云桌面云服务器
ocr文字识别免费版
HTTPS证书申请
图片文字识别转换
国外域名注册商
使用免费虚拟主机
云电脑主机多少钱
鲲鹏云手机
短信验证码平台
OCR图片文字识别
SSL证书是什么
申请企业邮箱步骤
免费的企业用邮箱
云免流搭建教程
域名价格