0

我想创建一个使用 Spark 在 HDFS 中查询数据的 Java 应用程序。到目前为止,我已经通过 2 种方式进行了测试: - 对 Thrift 服务器公开的 JDBC 端点进行 SQL 查询(从默认配置开始) - 使用 spark dataset api

我的问题是,对于 hadoop/spark 来说是全新的,这两种方法中的哪一种最有效且更容易设置(没有默认配置)?

据我所知,使用 Thrift 服务器需要配置和维护 Thrift 和 Hive。另一方面,我希望使用数据集 API 会更慢并且有更多限制,将数据保存在内存中。

4

1 回答 1

1

thrift 服务器确实需要稍微多一点的配置,并且需要一个配置单元元存储来保存表定义,您可以使用 sql 查询所有内容。归根结底,运行 thrift 服务器查询和使用无类型数据集 api 的查询之间的性能基本相同,在功能上您使用数据集 api 具有更大的灵活性。由于 codegen 吐出错误代码(尤其是 pre-spark 2.2),强类型数据集 api 的性能不如无类型数据集 api。

于 2018-02-12T03:09:40.037 回答