我想使用 SAS/ACESS 9.3M2 接口将 sas 与我的 Hive 连接起来。我的问题是,sas 是否将 hive 立方体导入 sas 环境并在那里查询?或者,它再次命中 hive 以进行报告,以便它运行 MR,这将我的报告性能降低到 2-4 秒以上。
如果将 hive 表导入其环境,与普通 sql 多维数据集相比,它的性能如何?
我对 sas 完全陌生,我希望我的报告在 2-4 秒内生成,其中我的聚合数据位于 Hive 表中,然后我在其上创建了多维数据集维度。
谢谢...
SAS/ACCESS 的用途是: - 为您提供从/向数据源读取数据和写入数据的能力,处理数据类型转换 - 提供有关数据存储的元数据(表、字段、数据类型的列表) - 提供平均值(也部分)将 SAS 代码转换(隐式传递)到数据源特定代码(通常是 SQL 变体等) - 为您提供一种编写数据源特定代码并将其从 SAS 发送以在数据源中执行的方法
我对 Hadoop 完全陌生 :-) 所以我只是猜测 SAS/访问 Hadoop(通过 LIBNAME 语句)从 Hadoop 读取关系数据,文档提到了 JDBC,所以我猜这是用于数据访问的。我怀疑 SAS/Access 是否能够从 Hadoop 查询多维数据集(这是您的问题吗?-“我已经在上面创建了多维数据集维度”-在 Hadoop 中的含义?)。
通常,SAS/Access 会尽量减少来自数据源的数据传输,并尝试将处理推送到数据源。
来自http://blog.cloudera.com/blog/2013/05/how-the-sas-and-cloudera-platforms-work-together:
SAS/访问 Hadoop
SAS/ACCESS 提供了在 SAS 中访问存储在 Hadoop 中的数据集的能力。使用 SAS/访问 Hadoop:
LIBNAME statements can be used to make Hive tables look like SAS data sets on top of which SAS Procedures and SAS DATA steps can interact.
PROC SQL commands provide the ability to execute direct Hive SQL commands on Hadoop.
PROC HADOOP provides the ability to directly submit MapReduce, Apache Pig, and HDFS commands from the SAS execution environment to your CDH cluster.
SAS/ACCESS 接口从 SAS 9.3M2 版本开始提供,并支持 CDH 3U2 以及 CDH 4.01 和更高版本。
在http://support.sas.com/documentation/cdl/en/proc/65145/HTML/default/viewer.htm#p1esotuxnkbuepn1w443ueufw8in.htm也可能对 PROC HADOOP 有帮助