详情页标题前

阿里云对象存储OSSFlink使用JindoSDK处理OSS-HDFS服务的数据-云淘科技

详情页1

开源版本Flink不支持流式写入OSS-HDFS服务,也不支持以EXACTLY_ONCE语义写入存储介质。当您希望开源版本Flink以EXACTLY_ONCE语义流式写入OSS-HDFS服务,需要结合JindoSDK。

前提条件

  • 已创建ECS实例。具体步骤,请参见选购ECS实例。
  • 已自行部署开源版本Flink,且版本不低于1.10.1。
  • 已开通并授权访问OSS-HDFS服务。具体操作,请参见开通并授权访问OSS-HDFS服务。

配置Jindo Flink connector

在所有节点Flink根目录下的lib文件夹下放置.jar文件jindo-flink-${version}-full.jar。

您可以解压缩jindosdk-${version}.tar.gz后在plugins/flink/目录下找到.jar文件。

在Flink作业中的用法

  1. 通用配置

    为了支持EXACTLY_ONCE语义写入OSS-HDFS,您需要执行如下配置:

    1. 打开Flink的检查点(Checkpoint)。示例如下。
      1. 通过如下方式建立的StreamExecutionEnvironment。
        StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();
      2. 执行如下命令,启动Checkpoint。
        env.enableCheckpointing(, CheckpointingMode.EXACTLY_ONCE);
    2. 使用可以重发的数据源,例如Kafka。
  2. 便捷使用

    您无需额外引入依赖,只需携带oss://前缀的路径,并使用OSS-HDFS服务的Bucket及Endpoint,即可启用Flink。

    1. 添加Sink。

      以将DataStream的对象OutputStream写入OSS-HDFS为例。

      String outputPath = "oss:///"
      StreamingFileSink sink = StreamingFileSink.forRowFormat(
              new Path(outputPath),
              new SimpleStringEncoder("UTF-8")
      ).build();
      outputStream.addSink(sink);

      重要 在OSS-HDFS服务的Bucket中带有.的字段为可选项。如果您希望省略该字段,请确保已在Flink或Hadoop组件中正确配置了OSS-HDFS服务的Endpoint。

    2. 使用env.execute()执行Flink作业。

(可选)自定义配置

您在提交Flink作业时,可以自定义参数,以开启或控制特定功能。

例如,通过-yD配置以yarn-cluster模式提交Flink作业时,示例如下:

/bin/flink run -m yarn-cluster -yD key1=value1 -yD key2=value2 ...

您可以开启熵注入(Entropy Injection)功能。熵注入可以匹配写入路径的一段特定字符串,用一段随机的字符串进行替换,以削弱所谓片区效应,提高写入效率。

当写入场景为OSS-HDFS时,需要完成下列配置。

oss.entropy.key=
oss.entropy.length=

写入新文件时,路径中与相同的字符串会被替换为一个随机字符串,随机串的长度为,且必须大于零。

内容没看懂? 不太想学习?想快速解决? 有偿解决: 联系专家

阿里云企业补贴进行中: 马上申请

腾讯云限时活动1折起,即将结束: 马上收藏

同尘科技为腾讯云授权服务中心。

购买腾讯云产品享受折上折,更有现金返利:同意关联,立享优惠

转转请注明出处:https://www.yunxiaoer.com/157647.html

(0)
上一篇 2023年12月10日
下一篇 2023年12月10日
详情页2

相关推荐

  • 阿里云对象存储OSSPython断点续传上传-云淘科技

    通过断点续传上传的方式将文件上传到OSS前,您可以指定断点记录点。上传过程中,如果出现网络异常或程序崩溃导致文件上传失败时,将从断点记录处继续上传未上传完成的部分。 注意事项 本文以华东1(杭州)外网Endpoint为例。如果您希望通过与OSS同地域的其他阿里云产品访问OSS,请使用内网Endpoint。关于OSS支持的Region与Endpoint的对应关…

    阿里云对象存储 2023年12月10日
  • 阿里云RDS数据库查看实例参数-云淘科技

    您可以通过云数据库RDS控制台或命令查看当前实例的参数配置。 方法一:通过控制台查看 访问RDS实例列表,在上方选择地域,然后单击目标实例ID。 在左侧导航栏中,单击参数设置,即可在参数列表中查看到每个参数的配置。 说明 参数列表中仅包含支持修改的参数,如需查看实例的所有参数配置,请参见方法二:通过命令查看。 方法二:通过命令查看 通过客户端、命令行连接RD…

    阿里云数据库 2023年12月9日
  • 信息流广告,信息流部分建议宽度830px,只针对默认列表样式,顺序随机
  • 阿里云对象存储OSS设置跨域规则后调用OSS时仍然报“No ‘Access-Control-Allow-Origin’”的错误-云淘科技

    问题描述 为了实现跨域访问,保证跨域数据传输的安全进行,在OSS控制台设置了跨域CORS规则后,通过SDK进行程序调用时报以下错误。 No ‘Access-Control-Allow-Origin’ header is present on the requested resource 问题原因 出现跨域问题的原因如下: 跨域CORS规则设置异常: 未正确设…

    2023年12月10日
  • 阿里云对象存储OSSPython客户端加密-云淘科技

    客户端加密是指将数据发送到OSS之前在用户本地进行加密。 免责声明 使用客户端加密功能时,您需要对主密钥的完整性和正确性负责。因您维护不当导致主密钥用错或丢失,从而导致加密数据无法解密所引起的一切损失和后果均由您自行承担。 在对加密数据进行复制或者迁移时,您需要对加密元信息的完整性和正确性负责。因您维护不当导致加密元信息出错或丢失,从而导致加密数据无法解密所…

    阿里云对象存储 2023年12月10日
  • 阿里云大数据开发治理平台 DataWorksSLA修改公告-云淘科技

    【公告】 阿里云数据工场(DataWorks)服务等级(SLA)协议将更新并于2023年3月9日生效,如您不同意阿里云对SLA所做的修改,您有权停止使用DataWorks,如您继续使用DataWorks,则视为您接受修改后的SLA。 内容没看懂? 不太想学习?想快速解决? 有偿解决: 联系专家阿里云企业补贴进行中: 马上申请腾讯云限时活动1折起,即将结束: …

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信
本站为广大会员提供阿里云、腾讯云、华为云、百度云等一线大厂的购买,续费优惠,保证底价,买贵退差。