1,问题来源:
对于有几个万分区的分区表,sparksql一跑就挂,但hive不会,请问怎么处理
执行sql:
ga10.coin_gain_lost是一个有几万个分区的分区表
date字段是一级分区
Caused by:org.apache.thrift.transport.TTransportException: Frame size (47350517) largerthan max length (16384000)!
atorg.apache.spark.sql.hive.client.HiveTable.getAllPartitions(ClientInterface.scala:74)
apache.hadoop.hive.metastore.api.ThriftHiveMetastore$Client.get_partitions(ThriftHiveMetastore.java:1979)
初步判断:spark把这个表的所有分区信息抓取回来(HiveTable.getAllPartitions),
补充说明:这个sql在hive中能正常跑
内容资源: spark-sql --num-executors 6 --driver-memory 20g--executor-memory 18g --master yarn
查看spark界面,没有job生成,没有stage信息
2,问题重现测试
根据分区重现这个问题的步骤,进行spark测试
Ø spark 测试运行环境: