华为云用户手册

  • 在WebUI显示更多历史作业 默认情况下,Yarn WebUI界面支持任务列表分页功能,每个分页最多显示5000条历史作业,总共最多保留10000条历史作业。如果您需要在WebUI上查看更多的作业,可以配置参数如表3。具体配置操作请参考修改集群服务配置参数。 表3 参数说明 配置参数 说明 默认值 yarn.resourcemanager.max-completed-applications 设置在WebUI总共显示的历史作业数量。 10000 yarn.resourcemanager.webapp.pagination.enable 是否开启Yarn WebUI的任务列表后台分页功能。 true yarn.resourcemanager.webapp.pagination.threshold 开启Yarn WebUI的任务列表后台分页功能后,每个分页显示的最大作业数量。 5000 显示更多的历史作业,会影响性能,增加打开Yarn WebUI的时间,建议开启后台分页功能,并根据实际硬件性能修改“yarn.resourcemanager.max-completed-applications”参数。 修改参数值后,需重启Yarn服务使其生效。
  • 配置描述 参考修改集群服务配置参数进入Yarn服务参数“全部配置”界面,在搜索框中输入表1中参数名称。 表1 参数说明 参数 描述 默认值 yarn.resourcemanager.am.max-attempts ApplicationMaster重试次数,增加重试次数,可以防止资源不足导致的AM启动失败问题。适用于所有ApplicationMaster的全局设置。每个ApplicationMaster都可以使用API设置一个单独的最大尝试次数,但这个次数不能大于全局的最大次数。如果大于了,那ResourceManager将会覆写这个单独的最大尝试次数。以允许至少一次重试。取值范围大于等于1。 5
  • 日志级别 Hive提供了如表2所示的日志级别。 运行日志的级别优先级从高到低分别是ERROR、WARN、INFO、DEBUG,程序会打印高于或等于所设置级别的日志,设置的日志等级越高,打印出来的日志就越少。 表2 日志级别 级别 描述 ERROR ERROR表示系统运行的错误信息。 WARN WARN表示当前事件处理存在异常信息。 INFO INFO表示记录系统及各事件正常运行状态信息。 DEBUG DEBUG表示记录系统及系统的调试信息。 如果您需要修改日志级别,请执行如下操作: 参考修改集群服务配置参数,进入Hive服务“全部配置”页面。 左边菜单栏中选择所需修改的角色所对应的日志菜单。 选择所需修改的日志级别并保存。 配置Hive日志级别后可立即生效,无需重启服务。
  • 操作步骤 请参考修改集群服务配置参数,进入HDFS的“全部配置”页面。 调整HDFS写数据时的依据的磁盘选择策略参数。搜索“dfs.block.replicator.classname”参数,并将参数的值改为“org.apache.hadoop.hdfs.server.blockmanagement.AvailableSpaceBlockPlacementPolicy”。 表1 参数描述 参数 参数说明 dfs.block.replicator.classname 选择副本放置的DataNode的策略。 默认值为“org.apache.hadoop.hdfs.server.blockmanagement.AvailableSpaceBlockPlacementPolicy”。 保存修改的配置。保存完成后请重新启动配置过期的服务或实例以使配置生效。
  • 配置描述 参数入口: 请参考修改集群服务配置参数,进入HDFS的“全部配置”页面,在搜索框中输入参数名称。 表1 参数说明 参数 描述 默认值 dfs.namenode.delegation.token.max-lifetime 该参数为服务器端参数,设置Token的最大存活时间,单位为毫秒。取值范围:10000~10000000000000。 604800000 dfs.namenode.delegation.token.renew-interval 该参数为服务器端参数,设置Token renew的时间间隔,单位为毫秒。取值范围:10000~10000000000000。 86400000
  • 对系统的影响 修改磁盘选择策略为“节点磁盘可用空间块放置策略(org.apache.hadoop.hdfs.server.blockmanagement.AvailableSpaceBlockPlacementPolicy)”,经过测试验证,在该测试结果中,修改前后,HDFS写文件性能影响范围在3%以内。 NameNode默认的副本存储策略为: 第一副本:存放到客户端所在节点。 第二副本:远端机架的数据节点。 第三副本:存放到客户端所在节点的相同机架的不同节点。 如还有更多副本,则随机选择其它DataNode。 “节点磁盘可用空间块放置策略”的副本选择机制为: 第一个副本:存放在客户端所在DataNode(和默认的存放策略一样)。 第二个副本: 选择存储节点的时候,先挑选2个满足要求的数据节点。 比较这2个节点磁盘空间使用比例,如果磁盘空间使用率的相差小于5%,随机存放到第一个节点。 如果磁盘空间使用率相差超过5%,即有60%(由dfs.namenode.available-space-block-placement-policy.balanced-space-preference-fraction指定,默认值0.6)的概率写到磁盘空间使用率低的节点。 第三副本等其他后续副本的存储情况,也参考第二个副本的选择方式。
  • 配置描述 当需要MapReduce shuffle服务绑定特定IP时,需要在NodeManager实例所在节点的配置文件“mapred-site.xml”中(例如路径为:${BIGDATA_HOME}/ FusionInsight _HD_xxx/x_xx_NodeManager/etc/mapred-site.xml)设置如下参数。 表1 参数描述 参数 描述 默认值 mapreduce.shuffle.address 指定地址来运行shuffle服务,格式是IP:PORT,参数的默认值为空。当参数值为空时,将绑定localhost,默认端口为13562。 说明: 如果涉及到的PORT值和配置的mapreduce.shuffle.port值不一样时,mapreduce.shuffle.port将不会生效。 -
  • 配置描述 在客户端的“mapred-site.xml”配置文件中调整如下参数。 “mapred-site.xml”配置文件在客户端安装路径的conf目录下,例如“/opt/client/Yarn/config”。 表1 参数说明 参数 描述 默认值 mapreduce.reduce.shuffle.max-host-failures MR任务在reduce过程中读取远端shuffle数据允许失败的次数。当设置次数大于5时,可以降低客户端应用的失败率。该参数适用于 MRS 3.x版本。 5 mapreduce.client.submit.file.replication MR任务在运行时依赖的相关job文件在HDFS上的备份。当备份数大于10时,可以降低客户端应用的失败率。 10
  • 操作步骤 参数入口: HBase角色相关的JVM参数需要配置在安装有HBase服务的节点的“${BIGDATA_HOME}/FusionInsight_HD_*/install/FusionInsight-HBase-2.2.3/hbase/conf/”目录下的“hbase-env.sh”文件中。 每个角色都有各自的JVM参数配置变量,如表1。 表1 HBase相关JVM参数配置变量 变量名 变量影响的角色 HBASE_OPTS 该变量中设置的参数,将影响HBase的所有角色。 SERVER_GC_OPTS 该变量中设置的参数,将影响HBase Server端的所有角色,例如:Master、RegionServer等。 CLIENT_GC_OPTS 该变量中设置的参数,将影响HBase的Client进程。 HBASE_MASTER_OPTS 该变量中设置的参数,将影响HBase的Master。 HBASE_REGIONSERVER_OPTS 该变量中设置的参数,将影响HBase的RegionServer。 HBASE_THRIFT_OPTS 该变量中设置的参数,将影响HBase的Thrift。 配置方式举例: export HADOOP_NAMENODE_OPTS="-Dhadoop.security.logger=${HADOOP_SECURITY_ LOG GER:-INFO,RFAS} -Dhdfs.audit.logger=${HDFS_AUDIT_LOGGER:-INFO,NullAppender} $HADOOP_NAMENODE_OPTS"
  • Topic和Partition的划分关系说明 假设集群中部署了K个Kafka节点,每个节点上配置的磁盘个数为N,每块磁盘大小为M,集群共有n个Topic(T1,T2…Tn),并且其中第m个Topic的每秒输入数据总流量为X(Tm) MB/s,配置的副本数为R(Tm),配置数据保存时间为Y(Tm)小时,那么整体必须满足: 假设单个磁盘大小为M,该磁盘上有n个Partition(P0,P1……Pn),并且其中第m个Partition的每秒写入数据流量为Q(Pm) MB/s(计算方法:所属Topic的数据流量除以Partition数)、数据保存时间为T(Pm)小时,那么单个磁盘必须满足: 根据吞吐量粗略计算,假设生产者可以达到的吞吐量为P,消费者可以达到的吞吐量为C,预期Kafka吞吐量为T,那么建议该Topic的Partition数目设置为Max(T/P , T/C)。 在Kafka集群中,分区越多吞吐量越高,但是分区过多也存在潜在影响,例如文件句柄增加、不可用性增加(如:某个节点故障后,部分Partition重选Leader后时间窗口会比较大)及端到端时延增加等。 建议:单个Partition的磁盘占用最大不超过100GB;单节点上Partition数目不超过3000;整个集群的分区总数不超过10000。
  • 参数调优 修改服务配置参数,请参考修改集群服务配置参数。调优参数请参考表1。 表1 调优参数 配置参数 缺省值 调优场景 num.recovery.threads.per.data.dir 10 在Kafka启动过程中,数据量较大情况下,可调大此参数,可以提升启动速度。 background.threads 10 Broker后台任务处理的线程数目。数据量较大的情况下,可适当调大此参数,以提升Broker处理能力。 num.replica.fetchers 1 副本向Leader请求同步数据的线程数,增大这个数值会增加副本的I/O并发度。 num.io.threads 8 Broker用来处理磁盘I/O的线程数目,这个线程数目建议至少等于硬盘的个数。 KAFKA_HEAP_OPTS -Xmx6G -Xms6G Kafka JVM堆内存设置。当Broker上数据量较大时,应适当调整堆内存大小。
  • 前提条件 使用Kafka客户端时:已安装客户端,例如安装目录为“/opt/client”,以下操作的客户端目录只是举例,请根据实际安装目录修改。 使用KafkaUI操作时:已创建具有KafkaUI页面访问权限的用户,如需在页面上进行相关操作,例如创建Topic,需同时授予用户相关权限,请参考Kafka用户权限说明。 第一次访问Manager和KafkaUI,需要在浏览器中添加站点信任以继续访问KafkaUI。
  • 针对不同的Topic访问场景,Kafka中API使用说明 场景一:访问设置了ACL的Topic 使用的API 用户属组 客户端参数 服务端参数 访问的端口 API 用户需满足以下条件之一即可: 加入System_administrator角色 属于kafkaadmin组 属于kafkasuperuser组 被授权的kafka组的用户 security.inter.broker.protocol=SASL_PLAINTEXT sasl.kerberos.service.name = kafka - sasl.port(默认21007) security.protocol=SASL_SSL sasl.kerberos.service.name = kafka “ssl.mode.enable”配置为true sasl-ssl.port(默认21009) 场景二:访问未设置ACL的Topic 使用的API 用户属组 客户端参数 服务端参数 访问的端口 API 用户需满足以下条件之一: 加入System_administrator角色 属于kafkaadmin组 属于kafkasuperuser组 security.protocol=SASL_PLAINTEXT sasl.kerberos.service.name = kafka - sasl.port(默认21007) 用户属于kafka组 “allow.everyone.if.no.acl.found”配置为true 说明: 普通集群下不涉及服务端参数“allow.everyone.if.no.acl.found”的修改 sasl.port(默认21007) 用户需满足以下条件之一: 加入System_administrator角色 属于kafkaadmin组 kafkasuperuser组用户 security.protocol=SASL_SSL sasl.kerberos.service.name = kafka “ssl.mode.enable”配置为“true” sasl-ssl.port(默认21009) 用户属于kafka组 “allow.everyone.if.no.acl.found”配置为“true” “ssl.mode.enable”配置为“true” sasl-ssl.port(默认21009) - security.protocol=PLAINTEXT “allow.everyone.if.no.acl.found”配置为“true” port(默认9092) - security.protocol=SSL “allow.everyone.if.no.acl.found”配置为“true” “ssl.mode.enable”配置为“true” ssl.port(默认9063)
  • Kafka访问协议说明 Kafka当前支持四种协议类型的访问:PLAINTEXT、SSL、SASL_PLAINTEXT、SASL_SSL。 Kafka服务启动时,默认会启动PLAINTEXT和SASL_PLAINTEXT两种协议类型的访问监测。可通过设置Kafka服务配置“ssl.mode.enable”为“true”,来启动SSL和SASL_SSL两种协议类型的访问监测。下表是四种协议类型的简单说明: 可以参考修改集群服务配置参数进入Kafka全部配置页面,查看或配置参数。 协议类型 说明 默认端口 PLAINTEXT 支持无认证的明文访问。 获取参数“port”的值,默认为9092。 SASL_PLAINTEXT 支持Kerberos认证的明文访问。 获取参数“sasl.port”的值,默认为21007。 SSL 支持无认证的SSL加密访问。 获取参数“ssl.port”的值,默认为9093。 SASL_SSL 支持Kerberos认证的SSL加密访问。 获取参数“sasl-ssl.port”的值,默认为21009。
  • Kafka API简单说明 Producer API 指org.apache.kafka.clients.producer.KafkaProducer中定义的接口,在使用“kafka-console-producer.sh”时,默认使用此API。 Consumer API 指org.apache.kafka.clients.consumer.KafkaConsumer中定义的接口,在使用“kafka-console-consumer.sh”时,默认会调用此API。 MRS 3.x后,Kafka不支持旧Producer API和旧Consumer API。
  • 常用参数 表1 参数说明 配置参数 说明 缺省值 log.dirs Kafka数据存储目录列表,以逗号分隔多个目录。 %{@auto.detect.datapart.bk.log.logs} KAFKA_HEAP_OPTS Kafka启动Broker时使用的jvm选项。建议根据业务需要进行设置。 -Xmx6G -Xms6G auto.create.topics.enable 是否自动创建Topic,如果参数设置为false,发消息前需要通过命令创建Topic。 true default.replication.factor 自动创建Topic时的默认副本数。 2 monitor.preInitDelay 服务启动后,第一次健康检查的延迟时间。如果启动需要较长时间,可以通过调大参数,来完成启动。单位为毫秒。 600000
  • 超时参数 表2 Broker相关超时参数 参数名称 参数说明 默认值 影响分析 controller.socket.timeout.ms Controller连接Broker的超时时间。单位:毫秒。 30000 Controller连接Broker的超时时间,一般不需要调整。 group.max.session.timeout.ms Consumer注册时允许的最大会话超时时间。单位:毫秒。 1800000 允许Consumer配置的session.timeout.ms的最大值(不包含此值)。 group.min.session.timeout.ms Consumer注册时允许的最小会话超时时间。单位:毫秒。 6000 允许Consumer配置的session.timeout.ms的最小值(不包含此值)。 offsets.commit.timeout.ms Offset提交请求的超时时间。单位:毫秒。 5000 Offset提交时被延迟处理的最大超时时间。 replica.socket.timeout.ms 副本数据同步请求的超时时间,配置值不得小于replica.fetch.wait.max.ms。单位:毫秒。 30000 同步线程在发送同步请求之前等待通道建立的最大超时时间,要求配置大于replica.fetch.wait.max.ms。 request.timeout.ms 设置客户端发送连接请求后,等待响应的超时时间。单位:毫秒。 30000 Broker节点上的Controller、Replica线程中传入networkclient连接的超时参数,如果在超时时间内没有接收到响应,那么客户端重新发送,并在达到重试次数后返回请求失败。 transaction.max.timeout.ms 事务允许的最大超时。单位:毫秒。 900000 事务最大超时时间,如果客户端的请求时间超过该值,则Broker将在InitProducerIdRequest中返回一个错误。这样可以防止客户端超时时间过长,而导致消费者无法接收topic。 user.group.cache.timeout.sec 指定缓存中保存用户对应组信息的时间。单位:秒。 300 缓存中用户和组对应关系缓存时间,超过此时间用户信息才会再次通过id -Gn命令查询,在此期间,仅使用缓存中的用户和组对应关系。 zookeeper.connection.timeout.ms 连接ZooKeeper的超时时间。单位:毫秒。 45000 ZooKeeper连接超时时间,这个时间决定了zkclient中初次连接建立过程时允许消耗的时间,超过该时间,zkclient会主动断开。 zookeeper.session.timeout.ms ZooKeeper会话超时时间。如果Broker在此时间内未向ZooKeeper上报心跳,则被认为失效。单位:毫秒。 45000 ZooKeeper会话超时时间。 作用一:这个时间结合传入的ZKURL中ZooKeeper的地址个数,ZooKeeper客户端以(sessionTimeout/传入ZooKeeper地址个数)为连接一个节点的超时时间,超过此时间未连接成功,则尝试连接下一个节点。 作用二:连接建立后,一个会话的超时时间,如ZooKeeper上注册的临时节点BrokerId,当Broker被停止,则该BrokerId,会经过一个sessionTimeout才会被ZooKeeper清理。 表3 Producer相关超时参数 配置名称 说明 默认值 影响分析 request.timeout.ms 指定发送消息请求的请求超时时间。单位:毫秒。 30000 请求超时时间,出现网络问题时,需调大此参数;配置过小,则容易出现Batch Expire异常。 表4 Consumer相关超时参数 配置名称 说明 默认值 影响分析 connections.max.idle.ms 空闲连接的保留时间。单位:毫秒 600000 空闲连接的保留时间,连接空闲时间大于此时间,则会销毁该连接,有需要时重新创建连接。 request.timeout.ms 消费请求的超时时间。单位:毫秒。 30000 请求超时时间,请求超时会失败然后不断重试。
  • 日志级别 Kafka提供了如表4所示的日志级别。 运行日志的级别优先级从高到低分别是ERROR、WARN、INFO、DEBUG,程序会打印高于或等于所设置级别的日志,设置的日志等级越高,打印出来的日志就越少。 表4 日志级别 级别 描述 ERROR ERROR表示系统运行的错误信息。 WARN WARN表示当前事件处理存在异常信息。 INFO INFO表示记录系统及各事件正常运行状态信息。 DEBUG DEBUG表示记录系统及系统的调试信息。 如果您需要修改日志级别,请执行如下操作: 请参考修改集群服务配置参数,进入Kafka的“全部配置”页面。 左边菜单栏中选择所需修改的角色所对应的日志菜单。 选择所需修改的日志级别。 保存配置,在弹出窗口中单击“确定”使配置生效。
  • Loader数据导出简介 Loader支持将数据或者文件从MRS系统中导出到关系型数据库或文件系统中,Loader支持如下数据导出方式: 从HDFS/OBS中导出数据到SFTP服务器 从HDFS/OBS中导出数据到关系型数据库 从HBase中导出数据到SFTP服务器 从HBase中导出数据到关系型数据库 从Phoenix表导出数据到SFTP服务器 从Phoenix表导出数据到关系型数据库 从Hive中导出数据到SFTP服务器 从Hive中导出数据到关系数据库 从同一集群内HBase导出数据到HDFS/OBS
  • 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。
  • 操作场景 本章节内容适用于MRS 3.x及后续版本。 增加Broker的存储目录时,MRS集群管理员需要在FusionInsight Manager中修改Broker的存储目录,以保证Kafka正常工作,新创建的主题分区将在分区最少的目录中生成。适用于以下场景: 由于Kafka不感知磁盘容量,建议各Broker实例配置的磁盘个数和容量保持一致。 更改Broker角色的存储目录,所有Broker实例的存储目录将同步修改。 更改Broker单个实例的存储目录,只对单个实例生效,其他节点Broker实例存储目录不变。
  • 前提条件 创建或获取该任务中创建Loader作业的业务用户和密码。 确保用户已授权访问作业执行时操作的HDFS/OBS目录和数据。 获取SFTP服务器使用的用户和密码,且该用户具备SFTP服务器数据导出目录的写入权限。 检查磁盘空间,确保没有出现告警且余量满足导入、导出数据的大小。 使用Loader从HDFS/OBS导出数据时,确保HDFS/OBS数据源的输入路径目录名、输入路径的子目录名及子文件名不能包含特殊字符/\"':;,中的任意字符。 如果设置的任务需要使用指定YARN队列功能,该用户需要已授权有相关YARN队列的权限。 设置任务的用户需要获取该任务的执行权限,并获取该任务对应的连接的使用权限。
  • 前提条件 创建或获取该任务中创建Loader作业的业务用户和密码。 确保用户已授权访问作业执行时操作的HBase表或phoenix表。 获取SFTP服务器使用的用户和密码,且该用户具备SFTP服务器上源文件的读取权限。如果源文件在导入后文件名要增加后缀,则该用户还需具备源文件的写入权限。 检查磁盘空间,确保没有出现告警且余量满足导入、导出数据的大小。 使用Loader从SFTP服务器导入数据时,确保SFTP服务器输入路径目录名、输入路径的子目录名及子文件名不能包含特殊字符/\"':;,中的任意字符。 如果设置的作业需要使用指定YARN队列功能,该用户需要已授权有相关YARN队列的权限。 设置任务的用户需要获取该任务的执行权限,并获取该任务对应的连接的使用权限。
  • 参数说明 表1 算子参数说明 参数 含义 类型 是否必填 默认值 分隔符 CS V文件的列分隔符,用于分隔每行的数据。 string 是 , 换行符 用户根据数据实际情况,填写字符串作为换行符。支持任何字符串。默认使用操作系统的换行符。 string 否 \n 文件名是否作为字段 自定义一个字段,以当前数据所在的文件名作为该字段值。 string 否 无 绝对路径 配置“文件名是否作为字段”引用文件名环境,选中单选框时是带绝对路径的文件名;不选中单选框时是不带路径的文件名。 boolean 否 不选中 验证输入字段 是否检验输入字段与值的类型匹配情况,值为“NO”,不检查;值为“YES”,检查。如果不匹配则跳过该行。 enum 是 YES 输入字段 配置输入字段的相关信息: 位置:源文件每行被列分隔符分隔后,目标字段对应的位置,从1开始编号。 字段名:配置字段名。 类型:配置字段类型。 数据格式:字段类型为“DATE”或“TIM”E或“TIMESTAMP”时,需指定特定时间格式,其他字段类型指定无效。时间格式如:“yyyyMMdd HH:mm:ss”。 长度:配置字段长度,字段值太长则按配置的长度截取,类型为“CHAR”时实际长度不足则空格补齐,类型为“VARCHAR”时实际长度不足则不补齐。 map 是 无
  • 参数说明 表1 算子参数说明 参数 含义 类型 是否必填 默认值 el操作之后生成的字段 配置EL表达式: 名称:表达式输出结果的名称。 el表达式:表达式,格式为:表达式名称(输入字段名,是否用小写字母表示输出结果)。例如,md5sum(fieldname,true)。 md5sum:生成md5校验值。 sha1sum:生成sha1校验值。 sha256sum:生成sha256校验值。 sha512sum:生成sha512校验值。 类型:表达式输出结果类型,建议选择“VARCHAR”。 时间格式:表达式输出结果格式。 长度:表达式输出结果长度。 map 是 无
  • 参数说明 表1 算子参数说明 参数 含义 类型 是否必填 默认值 换行符 用户根据数据实际情况,填写字符串作为换行符。支持任何字符串。默认使用操作系统的换行符。 string 否 \n 分割长度单位 长度单位,可选择“char”字符或“byte”字节。 enum 是 char 输入字段 配置输入字段相关信息: 固定长度:设置字段长度,第2个字段起点从第1个字段终点开始,以此类推。 字段名:配置输入字段名。 类型:配置字段类型。 数据格式:字段类型为“DATE”或“TIME”或“TIMESTAMP”时,需指定特定时间格式,其他字段类型指定无效。时间格式如:“yyyyMMdd HH:mm:ss”。 长度:配置字段长度,字段值实际长度太长则按配置的长度截取,“类型”为“CHAR”时实际长度不足则空格补齐,“类型”为“VARCHAR”时实际长度不足则不补齐。 map 是 无
  • SET和UNSET 当使用set命令时,所有新set的属性将会覆盖已存在的旧的属性。 SORT SCOPE SET SORT SCOPE命令示例: ALTER TABLE tablename SET TBLPROPERTIES('SORT_SCOPE'='no_sort') 当UNSET SORT SCOPE后,会使用默认值NO_SORT。 UNSET SORT SCOPE命令示例: ALTER TABLE tablename UNSET TBLPROPERTIES('SORT_SCOPE') SORT COLUMNS SET SORT COLUMNS命令示例: ALTER TABLE tablename SET TBLPROPERTIES('SORT_COLUMNS'='column1') 在执行该命令后,新的导入会使用新的SORT_COLUMNS配置值。 用户可以根据查询的情况来调整SORT_COLUMNS,但是不会直接影响旧的数据。所以对历史的segments的查询性能不会受到影响,因为历史的segments不是按照新的SORT_COLUMNS。 不支持UNSET命令,但是可以使用set SORT_COLUMNS等于空字符串来代替UNSET命令。 ALTER TABLE tablename SET TBLPROPERTIES('SORT_COLUMNS'='') 后续版本会加强自定义合并来对旧的segment重新排序。 流式表不支持修改SORT_COLUMNS。 如果inverted index的列从SORT_COLUMNS里面移除了,该列不会再创建inverted index。但是旧的INVERTED_INDEX配置值不会变化。
  • 参数说明 表1 算子参数说明 参数 含义 类型 是否必填 默认值 输出分隔符 配置分隔符。 说明: 该配置仅用于MySQL专用连接器,当数据列内容中包含默认分隔符时,需要设置自定义分隔符,否则会出现数据错乱。 string 否 , 换行分隔符 用户根据数据实际情况,填写字符串作为换行符。支持任何字符串。默认使用操作系统的换行符。 说明: 该配置仅用于MySQL专用连接器,当数据列内容中包含默认分隔符时,需要设置自定义分隔符,否则会出现数据错乱。 string 否 \n 输出字段 配置关系型数据库输出字段的相关信息: 字段名:配置输出字段的字段名。 表列名:配置数据库表的列名。 类型:配置字段类型,需要和数据库的字段类型一致。 长度:配置字段长度,字段值实际长度太长则按配置的长度截取,“类型”为“CHAR”时实际长度不足则空格补齐,“类型”为“VARCHAR”时实际长度不足则不补齐。 map 是 无
  • 示例 添加carbon配置参数 carbon.clean.file.force.allowed = true create table carbon01(a int,b string,c string) stored as carbondata; insert into table carbon01 select 1,'a','aa'; insert into table carbon01 select 2,'b','bb'; delete from table carbon01 where segment.id in (0); show segments for table carbon01; CLEAN FILES FOR TABLE carbon01 options('force'='true'); show segments for table carbon01; 上述命令将从物理上删除所有DELETE SEGMENT命令删除的segment和合并后的旧的segment。
  • 回答 在这种场景下,CarbonData会给每个节点分配一个INSERT INTO或LOAD DATA任务。如果Executor不是不同的节点分配的,CarbonData将会启动较少的task。 解决措施: 您可以适当增大Executor内存和Executor核数,以便YARN可以在每个节点上启动一个Executor。具体的配置方法如下: 配置Executor核数。 将“spark-defaults.conf”中的“spark.executor.cores”配置项或者“spark-env.sh”中的“SPARK_EXECUTOR_CORES”配置项设置为合适大小。 在使用spark-submit命令时,添加“--executor-cores NUM”参数设置核数。 配置Executor内存。 将“spark-defaults.conf”中的“spark.executor.memory”配置项或者“spark-env.sh”中的“SPARK_EXECUTOR_MEMORY”配置项设置为合适大小。 在使用spark-submit命令时,添加“--executor-memory MEM”参数设置内存。
共100000条
提示

您即将访问非华为云网站,请注意账号财产安全