zoukankan      html  css  js  c++  java
  • spark-sql使用笔记

    如何使用hive的udf

    • 可以使用spark-sql --jars /opt/hive/udf.jar,指定udf的路径
    • 还可以在spark-default.conf里指定spark.jars /opt/hive/udf.jar

    Truncated the string representation of a plan since it was too large

    在spark-default.conf 里设置
    spark.sql.debug.maxToStringFields 2000
    spark.debug.maxToStringFields 2000

    使用sparksql默认情况下会生成很多小文件,设置如下参数可以解决:

    set spark.sql.adaptive.enabled=true;
    具体可以参考:
    https://www.jianshu.com/p/ddd2382a738a

    在spark-default.conf里添加:spark.hadoop.hive.exec.orc.split.strategy ETL
    spark.hadoop.hive.exec.orc.split.strategy是用来设置spark在读取orc文件时候的策略的,
    BI策略以文件为粒度进行split划分;ETL策略会将文件进行切分,多个stripe组成一个split;
    HYBRID策略为:当文件的平均大小大于hadoop最大split值(默认256M)时使用ETL策略,否则使用BI策略。

    对于一些较大的ORC表,可能其footer(用于描述整个文件的基本信息、表结构信息、行数、各个字段的统计信息以及各个Stripe的信息)较大,ETL策略可能会导致其从hdfs拉取大量的数据来切分split,甚至会导致driver端OOM,因此这类表的读取建议使用BI策略。

    对于一些较小的尤其有数据倾斜的表(这里的数据倾斜指大量stripe存储于少数文件中),建议使用ETL策略

    这里的原因还没有调查,只是在网上查了个方法。

    参考:https://www.cnblogs.com/barneywill/p/10142244.html
    https://blog.csdn.net/Jiaoxin02/article/details/99293135

  • 相关阅读:
    C#中double转int时需要注意的地方
    OracleHelper类
    POJ2570, ZOJ1967
    ZOJ3088
    POJ3259(spfa判负环)
    POJ3268
    ZOJ1092 POJ2240
    ZOJ1298 POJ1135
    SRM587 div2
    POJ1679判断最小生成树是否唯一
  • 原文地址:https://www.cnblogs.com/goldenSky/p/11730683.html
Copyright © 2011-2022 走看看