检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
verifyPartitionPath 配置读取Hive分区表时,是否过滤掉分区表分区路径不存在的分区。 “true”:过滤掉分区路径不存在的分区; “false”:不进行过滤。 false 在spark-submit命令提交应用时,通过“--conf”参数配置是否过滤掉分区表分区路径不存在的分区。 示例: spark-submit
verifyPartitionPath 配置读取HIVE分区表时,是否过滤掉分区表分区路径不存在的分区。 “true”:过滤掉分区路径不存在的分区; “false”:不进行过滤。 false 在spark-submit命令提交应用时,通过“--conf”参数配置是否过滤掉分区表分区路径不存在的分区。 示例: spark-submit
PARTITON语句将数据加载到分区时,只能加载到静态分区。 动态分区:通过查询命令,将结果插入到某个表的分区时,可以使用动态分区。 动态分区通过在客户端工具执行如下命令开启: set hive.exec.dynamic.partition=true; 动态分区默认模式是“strict”
b=xxx 原因分析 按照设定,任务应该只扫描b=xxx的分区,但是查看任务日志可以发现,实际上任务却扫描了所有的分区再来计算b=xxx的数据,因此任务计算的很慢。并且因为需要扫描所有文件,会有大量的OBS请求发送。 MRS默认开启基于分区统计信息的执行计划优化,相当于自动执行Analyze
Spark SQL无法查询到ORC类型的Hive表的新插入数据 问题 为什么通过Spark SQL无法查询到存储类型为ORC的Hive表的新插入数据?主要有以下两种场景存在这个问题: 对于分区表和非分区表,在Hive客户端中执行插入数据的操作后,会出现Spark SQL无法查询到最新插入的数据的问题。
Spark SQL无法查询到ORC类型的Hive表的新插入数据 问题 为什么通过Spark SQL无法查询到存储类型为ORC的Hive表的新插入数据?主要有以下两种场景存在这个问题: 对于分区表和非分区表,在Hive客户端中执行插入数据的操作后,会出现Spark SQL无法查询到最新插入的数据的问题。
更新,导致Spark SQL查询不到新插入的数据。 对于存储类型为Parquet的Hive分区表,在执行插入数据操作后,如果分区信息未改变,则缓存的元数据信息未更新,导致Spark SQL查询不到新插入的数据。 解决措施:在使用Spark SQL查询之前,需执行Refresh操作更新元数据信息。
toSQL(SQLText.java:339) 原因分析 drop partition的处理逻辑是将找到所有满足条件的分区,将其拼接起来,最后统一删除。由于分区数过多,拼删元数据堆栈较深,出现StackOverFlow异常。 解决办法 分批次删除分区。 父主题: 使用Hive
已参考管理驱动,上传了MySQL数据库驱动。 步骤1:在MRS Hive上创建Hive分区表 在MRS的Hive客户端中,执行以下SQL语句创建一张Hive分区表,表名与MySQL上的表trip_data一致,且Hive表比MySQL表多建三个字段y、ym、ymd,作为Hive的分区字段。 SQL语句如下:
更新,导致Spark SQL查询不到新插入的数据。 对于存储类型为Parquet的Hive分区表,在执行插入数据操作后,如果分区信息未改变,则缓存的元数据信息未更新,导致Spark SQL查询不到新插入的数据。 解决措施:在使用Spark SQL查询之前,需执行Refresh操作更新元数据信息。
建表语句分区列为timestamp时,使用非标准格式的时间指定分区查询表统计失败 问题 建表语句分区列为timestamp时,使用非标准格式的时间指定分区查询表统计失败以及show partitions table结果编码不对。 执行desc formatted test_hiv
配置Hive表分区动态覆盖 配置场景 在旧版本中,使用insert overwrite语法覆写分区表时,只支持对指定的分区表达式进行匹配,未指定表达式的分区将被全部删除。在spark2.3版本中,增加了对未指定表达式的分区动态匹配的支持,此种语法与Hive的动态分区匹配语法行为一致。
PARTITON语句将数据加载到分区时,只能静态分区。 动态分区:通过查询命令,将结果插入到某个表的分区时,可以使用动态分区。 动态分区通过在客户端工具执行如下命令来开启: set hive.exec.dynamic.partition=true; 动态分区默认模式是strict,也就
配置Hive表分区动态覆盖 配置场景 在旧版本中,使用insert overwrite语法覆写分区表时,只支持对指定的分区表达式进行匹配,未指定表达式的分区将被全部删除。在spark2.3版本中,增加了对未指定表达式的分区动态匹配的支持,此种语法与Hive的动态分区匹配语法行为一致。
配置Hive表不同分区分别存储至OBS和HDFS 操作场景 存算分离场景下,Hive分区表支持不同的分区分别指定不同的存储源,可以指定一个分区表中不同分区的存储源为OBS或者HDFS。 本特性仅适用于MRS 3.2.0及之后版本。此章节仅说明分区表指定存储源的能力,关于Hive如
Hive分区数过多导致删除表失败 问题现象 Hive创建的二级分区表有两万多个分区,导致用户在执行truncate table ${TableName},drop table ${TableName}时失败。 原因分析 删除文件操作是单线程串行执行的,Hive分区数过多导致在元数
Hudi表分区设计规范 规则 分区键不可以被更新: Hudi具有主键唯一性机制,但在分区表的场景下通常只能保证分区内主键唯一,因此如果分区键的值发生变更后,会导致相同主键的行记录出现多条的情况。在以日期分区的场景,可采用数据的创建时间为分区字段,切记不要采用数据更新时间做分区。 当指
ClickHouse分区设计 合理设置分区键,控制分区数在一千以内,分区字段使用整型。 分区part数与查询性能关系 图1 分区part数与查询性能关系图 分区建议 建议使用toYYYYMMDD(pt_d)作为分区键,pt_d是date类型。 如果业务场景需要做小时分区,使用pt_d、
156 on 10.1.1.6 回答 动态分区表插入数据的最后一步是读取shuffle文件的数据,再写入到表对应的分区文件中。 当大面积shuffle文件损坏后,会引起大批量task失败,然后进行job重试。重试前Spark会将写表分区文件的句柄关闭,大批量task关闭句柄时HD
增加Kafka Topic分区 操作场景 用户可以通过KafkaUI增加Kafka Topic分区。 安全模式集群下,执行分区迁移操作的用户需属于“kafkaadmin”用户组,否则将会由于鉴权失败导致操作失败。 非安全模式下,KafkaUI对任意操作不作鉴权处理。 增加分区 进入KafkaUI界面。