[iceberg]1-环境

环境

  • hadoop客户端
  • hivemetastore
  • spark包

1.hadoop环境

  • 如果使用hdfs,则需要hadoop环境;如果仅使用s3,则需要hadoop客户端即可。

2.metastore环境

  • 非必须。如果没有metastore环境,iceberg仍然可以选择hadoop环境。

3.spark的配置

  • 关于iceberg-runtime包最好也放到jars下。
  • 在$SPARK_HOME/conf/spark-env.sh中配置:
HADOOP_HOME=/home/xxx/hadoop-current
HADOOP_CONF_DIR=${HADOOP_HOME}/etc/hadoop/
  • 如果使用metastore,需要在$SPARK_HOME/conf/hive-site.xml(新建)中配置metastore的地址。
<configuration xmlns:xi="http://www.w3.org/2001/XInclude">
  <property>
    <name>hive.metastore.uris</name>
    <value>thrift://xxx:9083</value>
  </property>
</configuration>

运行

debug iceberg:

[hadoop@10 ~]$ spark-sql --master local \
--driver-java-options "-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=5060" \
--conf spark.sql.extensions=org.apache.iceberg.spark.extensions.IcebergSparkSessionExtensions \
--conf spark.sql.catalog.spark_catalog=org.apache.iceberg.spark.SparkSessionCatalog \
--conf spark.sql.catalog.spark_catalog.type=hadoop \
--conf spark.sql.catalog.spark_catalog.warehouse=hdfs://ns1/user/wanghongbing/db

Listening for transport dt_socket at address: 5060

扩展Spark Catalyst

使得用户可以在Spark session中自定义自己的parser,analyzer,optimizer以及physical planning stragegy rule。Spark Catalyst扩展点:

SparkSessionExtensions

获取自定义规则
SparkSessionExtensions对应每一种自定义规则也都有一个build开头的方法用于获取对应类型的自定义规则,Spark session在初始化的时候,通过这些方法获取自定义规则并传递给parser,analyzer,optimizer以及planner等对象。

  • buildOptimizerRules
  • buildParser
  • buildPlannerStrategies
  • buildResolutionRules
  • buildPostHocResolutionRules
  • buildCheckRules
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值