Có hai ứng dụng pyspark riêng biệt mà nhanh chóng một HiveContext
ở vị trí của một SQLContext
cho phép một trong hai ứng dụng thất bại với các lỗi:Nhiều ứng dụng Spark với HiveContext
Exception: ("You must build Spark with Hive. Export 'SPARK_HIVE=true' and run build/sbt assembly", Py4JJavaError(u'An error occurred while calling None.org.apache.spark.sql.hive.HiveContext.\n', JavaObject id=o34039))
Các ứng dụng khác chấm dứt thành công.
Tôi đang sử dụng Spark 1.6 từ API Python và muốn sử dụng một số chức năng Dataframe
, chỉ được hỗ trợ với HiveContext
(ví dụ: collect_set
). Tôi đã có cùng một vấn đề trên 1.5.2 và trước đó.
này là đủ để tái sản xuất:
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)
Các sleep
chỉ là để giữ cho các kịch bản chạy trong khi tôi bắt đầu quá trình khác.
Nếu tôi có hai phiên bản của tập lệnh này đang chạy, lỗi trên sẽ hiển thị khi đọc tệp lát gỗ. Khi tôi thay thế HiveContext
bằng SQLContext
mọi thứ đều ổn.
Có ai biết tại sao không?