检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
Spark jar 如何读取上传文件 Spark可以使用SparkFiles读取 –-file中提交上来的文件的本地路径,即:SparkFiles.get("上传的文件名")。 Driver中的文件路径与Executor中获取的路径位置是不一致的,所以不能将Driver中获取到的
单击“上传对象”,将people.json文件上传到OBS桶根目录下。 在OBS桶根目录下,单击“新建文件夹”,创建名为“result”的文件夹。 单击“result”的文件夹,在“result”下单击“新建文件夹”,创建名为“parquet”的文件夹。 步骤3:新建Maven工程,配置pom依赖
使用Spark作业访问sftp中的文件,作业运行失败,日志显示访问目录异常 Spark作业不支持访问sftp,建议将文件数据上传到OBS,再通过Spark作业进行读取和分析。 上传数据到OBS桶:通过OBS管理控制台或者使用命令行工具将存储在sftp中的文件数据上传到OBS桶中。 Spark读取OBS文件数据,详见使用Spark
如何合并小文件 使用SQL过程中,生成的小文件过多时,会导致作业执行时间过长,且查询对应表时耗时增大,建议对小文件进行合并。 推荐使用临时表进行数据中转 自读自写在突发异常场景下存在数据丢失的风险 执行SQL: INSERT OVERWRITE TABLE tablename select
Flink作业输出流写入数据到OBS,通过该OBS文件路径创建的DLI表查询无数据 问题现象 使用Flink作业输出流写入数据到了OBS中,通过该OBS文件路径创建的DLI表进行数据查询时,无法查询到数据。 例如,使用如下Flink结果表将数据写入到OBS的“obs://obs-sink/car_infos”路径下。
若为true,则表示输出数据到taskmanager的error文件中。 若为false,则表示输出数据到taskmanager的out中。 示例 从kafka中读取数据输出到taskmanager的out文件中,可以在taskmanager的out文件中看到输出结果。 create table kafkaSource(
Flink Jar作业是否支持上传配置文件,要如何操作? Flink Jar作业上传配置文件操作流程 自定义(JAR)作业支持上传配置文件。 将配置文件通过程序包管理上传到DLI; 在Flink jar作业的其他依赖文件参数中,选择创建的DLI程序包; 在代码中通过ClassName
具体使用示例详见:STRUCT示例。 使用限制 创建含有复杂数据类型字段的表时,该表存储格式不支持CSV(txt)。 如果表中含有复杂数据类型字段时,该表不支持CSV(txt)格式的文件数据导入。 MAP数据类型建表必须指定schema,且不支持date、short、timestamp数据类型。
为Parquet数据。 方案优势 提升查询性能 如果您在HDFS上拥有基于文本的数据文件或者表,而且正在使用Spark SQL对数据执行查询操作,那么推荐将文本数据文件转换为Parquet数据文件,转换需要时间,但查询性能的提升在某些情况下可能达到约30倍或更高。 节省存储空间
对象存储OBS源表 功能描述 文件系统连接器可用于将单个文件或整个目录的数据读取到单个表中。 当使用目录作为source路径时,对目录中的文件进行 无序的读取。更多信息参考文件系统 SQL 连接器 语法格式 1 2 3 4 5 6 7 8 9 10 11 CREATE
从PostgreSQL CDC源表读取数据写入到DWS 本指导仅适用于Flink 1.12版本。 场景描述 CDC是变更数据捕获(Change Data Capture)技术的缩写,它可以将源数据库的增量变动记录,同步到一个或多个数据目的中。CDC在数据同步过程中,还可以对数据进行一定的处理,例如分组(GROUP
1”,可以将多个task生成的多个文件汇总为一个文件。 操作步骤 在管理控制台检查对应SQL作业详情中的“结果条数”是否正确。 检查发现读取的数据量是正确的。 图1 检查读取的数据量 确认客户验证数据量的方式是否正确。客户验证的方式如下: 通过OBS下载数据文件。 通过文本编辑器打开数据文件,发现数据量缺失。
Flink Jar作业设置backend为OBS,报错不支持OBS文件系统 问题现象 客户执行Flink Jar作业,通过设置checkpoint存储在OBS桶中,作业一直提交失败,并伴有报错提交日志,提示OBS桶名不合法。 原因分析 确认OBS桶名是否正确。 确认所用AKSK是否有权限。
从Kafka读取数据写入到DWS 本指导仅适用于Flink 1.12版本。 场景描述 该场景为对汽车驾驶的实时数据信息进行分析,将满足特定条件的数据结果进行汇总。汽车驾驶的实时数据信息为数据源发送到Kafka中,再将Kafka数据的分析结果输出到DWS中。 例如,输入如下样例数据:
从Kafka读取数据写入到RDS 本指导仅适用于Flink 1.12版本。 场景描述 该场景为根据商品的实时点击量,获取每小时内点击量最高的3个商品及其相关信息。商品的实时点击量数据为输入源发送到Kafka中,再将Kafka数据的分析结果输出到RDS中。 例如,输入如下样例数据:
mode=INCREMENTAL // 必须设置当前表读取为增量读取模式 hoodie.tableName.consume.start.timestamp=20201227153030 // 指定初始增量拉取commit hoodie.tableName.consume.end.tim
从Kafka读取数据写入到Elasticsearch 本指导仅适用于Flink 1.12版本。 场景描述 本示例场景对用户购买商品的数据信息进行分析,将满足特定条件的数据结果进行汇总输出。购买商品数据信息为数据源发送到Kafka中,再将Kafka数据的分析结果输出到Elasticsearch中。
写时复制表也简称COW表,使用parquet文件存储数据,内部的更新操作需要通过重写原始parquet文件完成。 优点:读取时,只读取对应分区的一个数据文件即可,较为高效。 缺点:数据写入的时候,需要复制一个先前的副本再在其基础上生成新的数据文件,这个过程比较耗时。且由于耗时,读请求读取到的数据相对就会滞后。
DELTA 命令将现有的 Parquet 表就地转换为 Delta 表。 此命令会列出目录中的所有文件,创建 Delta Lake 事务日志来跟踪这些文件,并通过读取所有 Parquet 文件的页脚来自动推断数据架构。 转换过程会收集统计信息,以提升转换后的 Delta 表的查询性能。
mor表更新数据以行存log的形式写入,log读取时需要按主键合并,并且是行存的,导致log读取效率比parquet低很多。为了解决log读取的性能问题,Hudi通过compaction将log压缩成parquet文件,大幅提升读取性能。 规则 有数据持续写入的表,24小时内至少执行一次compaction。