当前位置: 首页 > news >正文

做日本暖暖小视频网站/超级优化

做日本暖暖小视频网站,超级优化,工程建设,达川网站制作1. 引入云上对象存储的廉价让不少公司将其作为主要的存储方案,而Hudi作为数据湖解决方案,支持对象存储也是必不可少。之前AWS EMR已经内置集成Hudi,也意味着可以在S3上无缝使用Hudi。当然国内用户可能更多使用阿里云OSS作为云上存储方案&…

1. 引入

云上对象存储的廉价让不少公司将其作为主要的存储方案,而Hudi作为数据湖解决方案,支持对象存储也是必不可少。之前AWS EMR已经内置集成Hudi,也意味着可以在S3上无缝使用Hudi。当然国内用户可能更多使用阿里云OSS作为云上存储方案,那么如果用户想基于OSS构建数据湖,那么Hudi是否支持呢?随着Hudi社区主分支已经合并了支持OSS的PR,现在只需要基于master分支build版本即可,或者等待下一个版本释出便可直接使用,经过简单的配置便可将数据写入OSS。

2. 配置

2.1 pom依赖

需要额外添加的主要pom依赖如下

org.apache.hadoop

hadoop-aliyun

3.2.1

com.aliyun.oss

aliyun-sdk-oss

3.8.1

2.2 core-site.xml配置

若需访问OSS,需要修改core-site.xml,关键配置如下

fs.defaultFS

oss://bucketname/

fs.oss.endpoint

oss-endpoint-address

Aliyun OSS endpoint to connect to.

fs.oss.accessKeyId

oss_key

Aliyun access key ID

fs.oss.accessKeySecret

oss-secret

Aliyun access key secret

fs.oss.impl

org.apache.hadoop.fs.aliyun.oss.AliyunOSSFileSystem

3. 源码

示例源码如下

import org.apache.hudi.QuickstartUtils.*;

import org.apache.spark.api.java.JavaSparkContext;

import org.apache.spark.sql.Dataset;

import org.apache.spark.sql.Row;

import org.apache.spark.sql.SparkSession;

import java.io.IOException;

import java.util.List;

import static org.apache.hudi.QuickstartUtils.convertToStringList;

import static org.apache.hudi.QuickstartUtils.getQuickstartWriteConfigs;

import static org.apache.hudi.config.HoodieWriteConfig.TABLE_NAME;

import static org.apache.spark.sql.SaveMode.Overwrite;

public class OssHudiDemo {

public static void main(String[] args) throws IOException {

SparkSession spark = SparkSession.builder().appName("Hoodie Datasource test")

.master("local[2]")

.config("spark.serializer", "org.apache.spark.serializer.KryoSerializer")

.config("spark.io.compression.codec", "snappy")

.config("spark.sql.hive.convertMetastoreParquet", "false")

.getOrCreate();

JavaSparkContext jsc = new JavaSparkContext(spark.sparkContext());

String tableName = "hudi_trips_cow";

String basePath = "/tmp/hudi_trips_cow";

DataGenerator dataGen = new DataGenerator();

List<String> inserts = convertToStringList(dataGen.generateInserts(10));

Dataset<Row> df = spark.read().json(jsc.parallelize(inserts, 2));

df.write().format("org.apache.hudi").

options(getQuickstartWriteConfigs()).

option(TABLE_NAME, tableName).

mode(Overwrite).

save(basePath);

Dataset<Row> roViewDF = spark.read().format("org.apache.hudi").load(basePath + "/*/*/*");

roViewDF.registerTempTable("hudi_ro_table");

spark.sql("select * from hudi_ro_table").show(false);

spark.stop();

}

}

即先写入OSS,下图可以看到OSS的Bucket中已经成功写入了数据,然后再通过spark查询写入的结果。

8b5987d724bbc4c6a5305fb521116083.png

部分查询结果如下

|20200421205942 |20200421205942_2_10 |6fd496f8-ebee-4f67-8f86-783ff3fed3ab|asia/india/chennai |1f71bed9-833b-4fca-8b4b-4cd014bdf88a-0_2-22-30_20200421205942.parquet|0.40613510977307 |0.5644092139040959 |driver-213|0.798706304941517 |0.02698359227182834|17.851135255091155|asia/india/chennai |rider-213|0.0|6fd496f8-ebee-4f67-8f86-783ff3fed3ab|

所有源代码已经上传至https://github.com/leesf/oss-hudi-demo

4. 最后

本篇文章很简单,只用作展示如何通过Hudi将数据写入OSS。当数据写入OSS后,便可打通阿里云上几乎所有产品,这使得基于阿里云技术栈进行数据湖分析将变得非常简单,比如使用DLA(Data Lake Analytics),对标AWS的Athena,对Hudi数据集进行分析查询,一体化的流程会让分析变得异常简单。

d375ac8c79db6a9ae679f594ad1a16e4.png

a89a3cd0338d22e2f4ef50f732df8532.png

http://www.jmfq.cn/news/5217985.html

相关文章:

  • 做网站推广员需要/seo网络贸易网站推广
  • 风水网站建设的策划书/黑帽seo联系方式
  • 罗岗网站建设公司/如何创建网站平台
  • 北京网站建设最便宜的公司哪家好/精准引流的网络推广
  • 梵讯企业网站建设/迅雷磁力链bt磁力天堂
  • 有那些做任务的网站/360上网安全导航
  • 互联网大会官网/常州seo关键词排名
  • 网页微信版会痕迹吗/赣州seo公司
  • 完善网站建设的方法/旺道网站排名优化
  • 有那个网站可以做任务赚钱吗/seo排名优化培训网站
  • 湖南长沙网站制作/自己怎么开发app软件
  • 鞍山网站设计/网络运营团队
  • 电商网站的建设/网络销售平台有哪些软件
  • 钟落潭有没有做网站的/软文代写平台
  • 宁夏做网站好的公司/游戏特效培训机构排名
  • 100个有趣的网站/深圳关键词优化软件
  • 闲鱼上做网站/图片优化是什么意思
  • 栾城网站建设/一份完整的市场调查方案
  • 教育网站建设需求分析报告/友链查询站长工具
  • 商务 服务类网站模板/公司域名注册步骤
  • 各大网站推荐/互联网运营推广公司
  • 靠谱的深圳app开发公司/seo需要什么技术
  • 商务网站需求说明书/武汉seo管理
  • 网站做问卷调查的问题/seo 推广
  • php手机网站模板/武汉网站设计十年乐云seo
  • 做防水怎么注册网站/网络推广优化品牌公司
  • 网站建栏目建那些/灰色产业推广引流渠道
  • 网站编辑主要做什么/网站排名提高
  • 攻击网站的方法/室内设计培训哪个机构比较好
  • jeecms做企业网站/螺蛳粉的软文推广