最具影响力的数字化技术在线社区

168大数据

 找回密码
 立即注册

QQ登录

只需一步,快速开始

1 2 3 4 5
打印 上一主题 下一主题
开启左侧

SAP HANA Smart Data Acccess介绍及配置示例

[复制链接]
跳转到指定楼层
楼主
发表于 2014-9-30 10:50:57 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多数据大咖,获取更多知识干货,轻松玩转大数据

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

HANA从1.0 SPS06起引入了一种叫做"Smart Data Access"技术,它可以让HANA访问远程数据源中的数据,而无需复制数据到HANA中,就好像访问HANA的本地表一样。通过在HANA中创建虚拟表(也就是代理表),来实现Smart Data Access访问。目前支持的外部数据源如下(摘自SAP HANA SP06新特性文档):

      * Teradata Database: version 13.0

      * SAP Sybase IQ: version 15.4 ESD#3 and 16.0

      * SAP Sybase Adaptive Service Enterprise: version 15.7 ESD#4

      * Intel Distribution for Apache hadoop: version 2.3 (This includes Apache Hadoop version 1.0.3 and Apache Hive 0.9.0.)


      在创建虚拟表后,开发人员能够编写SQL查询以实现对虚拟表的访问。HANA的查询优化器能够优化这些SQL查询,发送查询或查询某个部分到远程数据源中执行,接收查询结果集,然后把最终的查询结果返回给客户端。   

      在本文下面的内容中将结合一个例子向大家介绍"Smart Data Access"的配置和创建方法。这个列子的远程数据源是SAP Sybase IQ 16,具体的环境如下:

       * SAP HANA 1.0 SP06 Revision 69

       * IQ 16.0 SP02 For Linux x86_64 , 运行了IQ Demo数据库

       * 假设HANA数据库实例所在的机器上已经安装了IQ 16.0 SP02的客户端,安装目录为:/opt/sybiq/16.0


      下面是具体的配置步骤:

      (1)  修改环境变量

          su - hdbadm

          vi $HOME/.customer.sh

         在这个文件中增加如下内容:

             export LD_LIBRARY_PATH=/opt/sybiq/16.0/IQ-16_0/lib64LD_LIBRARY_PATH

     (2)  增加ODBC数据源

          su - hdbadm

          vi $HOME/.odbc.ini

          在文件中增加如下内容:


[ODBC Data Sources]

IQ16_DEMO=SQLAnywhere 16.0

[IQ16_DEMO]

ServerName=HAIQ-DB-01_iqdemo

CommLinks=tcpip(host=192.168.0.199;port=2638)

Driver=libiqodbc.so


     (3)  重启HANA
         用hdbadm用户重新登陆,使得第一步修改的环境变量有效
         ./HDB stop
         ./HDB start


    (4)  创建远程数据源

CREATE REMOTE SOURCE DS_IQ16_DEMO ADAPTER IQODBC CONFIGURATION 'DSN=IQ16_DEMO' WITH CREDENTIAL TYPE 'PASSWORD' USING 'user="DBA";password="sql"'

     注意:这只是示例,在实战中应该使用应用账户,不要使用数据库超级用户!


    (5)  创建虚拟表
   CREATE VIRTUAL TABLE vt_customers AT DS_IQ16_DEMO.iqdemo.GROUPO.customers


   (6) 访问虚拟表
   SELECT  top 10 * from vt_customers


本文将向大家介绍访问SAP ASE的配置。具体的环境如下:
        * SAP HANA 1.0 SP06 Revision 69
        * ASE 15.7 SP110 For Linux x86_64 , 运行了tpchdb数据库
        * 假设HANA数据库实例所在的机器上已经安装了ASE 15.7 SP110的客户端,安装目录为:/opt/sybase

      下面是具体的配置步骤:
       (1)  修改环境变量
           su - hdbadm
           vi $HOME/.customer.sh
          在这个文件中增加如下内容:
              export LD_LIBRARY_PATH=/opt/sybiq/16.0/IQ-16_0/lib64:/opt/sybase/DataAccess64/ODBC/libLD_LIBRARY_PATH


      (2)  增加ODBC数据源
           su - hdbadm
           vi $HOME/.odbc.ini
           在文件中增加如下内容:
  

[ODBC Data Sources]
IQ16_DEMO=SQLAnywhere 16.0
ASE_DEMO=Adaptive Server Enterprise

[IQ16_DEMO]
ServerName=HAIQ-DB-01_iqdemo
CommLinks=tcpip(host=192.168.0.199;port=2638)
Driver=libiqodbc.so

[ASE_DEMO]
Server=192.168.0.199
Port=5000
Database=TPCHDB
Driver=libsybdrvodb.so


     (3)  重启HANA
          用hdbadm用户重新登陆,使得第一步修改的环境变量有效
          ./HDB stop
          ./HDB start

    (4)  创建远程数据源
CREATE REMOTE SOURCE DS_ASE_DEMO ADAPTER ASEODBC CONFIGURATION 'DSN=ASE_DEMO' WITH CREDENTIAL TYPE 'PASSWORD' USING 'user="tpchuser";password="tpchpasswd"'
  
    (5)  创建虚拟表
CREATE VIRTUAL TABLE vt_customer AT DS_ASE_DEMO."tpchdb"."tpchuser"."customer"

     注意:由于ASE的用户名、数据库名、表名等区分大小写,而HANA会把这些名称自动转换为大写,为了禁止HANA进行这种转换需要加上""括起这些名称,否则会报如下错误:
* 476: invalid remote object name: Unable to retrieve remote metadata

   (6) 访问虚拟表
    SELECT  top 10 * from vt_customer



楼主热帖
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 转播转播 分享分享 分享淘帖 赞 踩

168大数据 - 论坛版权1.本主题所有言论和图片纯属网友个人见解,与本站立场无关
2.本站所有主题由网友自行投稿发布。若为首发或独家,该帖子作者与168大数据享有帖子相关版权。
3.其他单位或个人使用、转载或引用本文时必须同时征得该帖子作者和168大数据的同意,并添加本文出处。
4.本站所收集的部分公开资料来源于网络,转载目的在于传递价值及用于交流学习,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。
5.任何通过此网页连接而得到的资讯、产品及服务,本站概不负责,亦不负任何法律责任。
6.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源,若标注有误或遗漏而侵犯到任何版权问题,请尽快告知,本站将及时删除。
7.168大数据管理员和版主有权不事先通知发贴者而删除本文。

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

关于我们|小黑屋|Archiver|168大数据 ( 京ICP备14035423号|申请友情链接

GMT+8, 2024-6-14 05:41

Powered by BI168大数据社区

© 2012-2014 168大数据

快速回复 返回顶部 返回列表