柠檬友玩

首页 > 游戏资讯 > 正文

spark技术栈,flink spark优劣比较

时间:2022-12-12 11:47:01

APP永久免费入口

#顶级创作挑战#

Spark3.1.2和Iceberg0.12.1集成Spark可以操作Iceberg数据湖。 此处使用的Iceberg版本为0.12.1,此版本与Spark2.4版本兼容。 spark 2.4版不支持DDL、添加分区、添加分区转换、Iceberg元数据查询、insert into/overwrite等操作,因此spark bar

spark技术栈,flink spark优劣比较

另一方面,在导入pom文件依赖项Idea中创建Maven项目,然后在pom文件中导入以下重要依赖项:

utf-81.81.8 org.Apache.sparks park-core _2. 123.1.2 org.Apache.avro avro1. 10.2 org.Apache.parquetpark .2org.Apache.sparks park-SQL-Kafka-0-10 _ _ _ ang Scala-compiler 2.12.14 org.Scala-lang Scala-refla-reflech 同样,Spark支持hive和hadoop两种类型的目录设置,Hive Catalog是用于Iceberg表存储的hive的默认数据路径,而Hadoop Catalog是Iceberg

valspark:spark session=spark session.builder (.master ) ' local ' ).appname('sparkoperateiceberg ' ) /指定hivecataterg 指定catalog名称为hive _ prod.config ( spark.SQL.catalog.hive _ prod ), org.Apache.iceberg.spark.spark catalog )、org.Apache.iceberg.spark.spark catalog 652 ' hive ' ).config ( spark ) catalog名称为Hadoop _ prod.config ( spark.SQL.catalog.Hadoop _ prod ),) org.Apache.iceberg.spark.sparkcatalod ) org.Apache.iceberg.sparkcatalo ' Hadoop ' ).config ( spark.SQL.catalog.Hadoop _ prod.warehouse ), ' HDFS://my cluster/sparkoperateIceberg ' ).getOrCreate (三、使用Hive Catalog管理Iceberg表使用Hive Catalog管理iceberg表SparkSQL相当于Hive客户端,并且必须将" Iceberg.engine.Hive.enabled "属性设置为true。 如果不设置为true,则在支持hive的iceberg格式表中不会出现"查询 "

1、制作表//表,指定hive_pord:catalog名称。 efault :指定hive中存在的库。 test :创建的iceberg表的名称。 spark.SQL (“”)。 表名为${catalog名称}.${Hive的库名称}.${生成的Iceberg格式的表名}2)表创建后,从Hive的查询开始在对应的test表中显示Hive的外观和对应的Hive

2、插入数据//插入数据spark.SQL ( '|insert into hive _ prod.default.test values ) 1、' zs '、18 )、2、' ls '、19 )

在支持Hive的test表中,也从查询开始数据:

4、删除表//表。 删除与表对应的数据不会删除spark.SQL (“”)。 注:删除表会删除数据,但会删除表

四.在使用用于在Hadoop Catalog中管理Iceberg表的Hadoop Catalog管理表的情况下,需要指定与Iceberg的存储数据相对应的目录。

1、制作表//制作表,指定Hadoop_Prod:Hadoopcatalog名称。 default :指定库名称。 test :创建的iceberg表的名称。 spark.SQL (“”) idint,name string, age int ) using iceberg '''.stripMargin )注意:1)创建表名时,需要输入${Hadoop Catalog名称}.${任何定义的库名称}.${Iceberg格式的表名}2

2、插入数据//插入数据spark.SQL ( '|insert into Hadoop _ prod.default.test values ) 1、' zs '、18 )、2、' ls、19 '

createtableHDFS_iceberg(idint,name string,age int ) stored by ' org.Apache.iceberg.Mr.hive.hiveicebergebergstoragehtstoragestorage

5、删除表spark.SQL (“”||drop table Hadoop _ prod.default.test“. strip margin”)注意:删除iceberg表会删除数据,并删除相应的库