有两个独立的pyspark应用程序实例化一个HiveContext代替SQLContext让两个应用程序之一失败,错误: 例外:(“你必须使用Hive构buildSpark,导出'SPARK_HIVE = true'并运行build / sbt assembly”,Py4JJavaError(调用None.org.apache.spark.sql.hive.HiveContext时发生错误。\ n ',JavaObject id = o34039)) 另一个应用程序成功终止。 我使用Python API中的Spark 1.6,并希望使用一些Dataframe函数,这些函数仅支持HiveContext (例如collect_set )。 我在1.5.2及更早的版本中遇到了同样的问题。 这足以重现: import time from pyspark import SparkContext, SparkConf from pyspark.sql import SQLContext conf = SparkConf() sc = SparkContext(conf=conf) sq = HiveContext(sc) data_source = '/tmp/data.parquet' df = sq.read.parquet(data_source) time.sleep(60) sleep只是为了保持脚本运行,而我开始另一个进程。 如果我有两个运行此脚本的实例,则上述错误在读取parquet文件时显示。 当我用HiveContextreplaceHiveContext一切都很好。 有谁知道这是为什么?
谁能告诉我Hive的外部表和内部表之间的区别。 我知道放下桌子时会有什么不同。 我不明白你的意思是什么数据和元数据在内部删除,只有外部表中的元数据被删除。 任何人都可以解释我节点方面请。