All Projects → SAP-samples → Hana Native Adapters

SAP-samples / Hana Native Adapters

Licence: apache-2.0
Since SAP HANA SPS09 supports writing new adapters for Smart Data Access, Batch Data Loading, ETL, Realtime Replication, and Realtime Transformations. While common adapters are provided by SAP, everyone can write their own adapters using the SAP HANA Adapter SDK. This project aims to provide additional adapters for using them or as samples.

Programming Languages

java
68154 projects - #9 most used programming language

Labels

Projects that are alternatives of or similar to Hana Native Adapters

Kotlin Mvp Example
A small client server app on Kotlin that is using MVP architecture
Stars: ✭ 337 (+1062.07%)
Mutual labels:  sample
Swiftui 2048
A 2048 game writing with SwiftUI.
Stars: ✭ 539 (+1758.62%)
Mutual labels:  sample
Kotlinsample Mvp
Sample Kotlin project with MVP implementation
Stars: ✭ 11 (-62.07%)
Mutual labels:  sample
Vokuro
Sample application for Phalcon Framework (Acl, Auth, Security)
Stars: ✭ 350 (+1106.9%)
Mutual labels:  sample
Basic Microservice Example
Simple sketch of how we layout a clojure microservice
Stars: ✭ 452 (+1458.62%)
Mutual labels:  sample
Rxjavasample
RxJava Sample
Stars: ✭ 811 (+2696.55%)
Mutual labels:  sample
Umi Examples
examples for umi.js
Stars: ✭ 294 (+913.79%)
Mutual labels:  sample
Yaas Getting Started Yaasbites
YaaS bites (our getting started series) is a tutorial and sample code set consisting of small, incremental coding exercises to help a developer learn the basics of the YaaS platform. Its goal is to ensure that a Software Developer's initial journies into YaaS are productive and successful.
Stars: ✭ 13 (-55.17%)
Mutual labels:  sample
Tutoshowcase
A simple and Elegant Showcase view for Android
Stars: ✭ 499 (+1620.69%)
Mutual labels:  sample
Simpleopenclsamples
Simple OpenCL Samples that Build with Khronos Headers and Libs
Stars: ✭ 22 (-24.14%)
Mutual labels:  sample
Google Photos
Samples for the Google Photos Library API 📸
Stars: ✭ 361 (+1144.83%)
Mutual labels:  sample
Androidwithkotlin
🚀 These are android sample projects which are written in Kotlin. It covers video streaming, mp3 player, sqlite, location services, custom camera, o-notifications, simple compass etc.
Stars: ✭ 447 (+1441.38%)
Mutual labels:  sample
Scala Pet Store
An implementation of the java pet store using FP techniques in scala
Stars: ✭ 812 (+2700%)
Mutual labels:  sample
Go Project Sample
Introduce the best practice experience of Go project with a complete project example.通过一个完整的项目示例介绍Go语言项目的最佳实践经验.
Stars: ✭ 344 (+1086.21%)
Mutual labels:  sample
Runnerty Quick Start
Runnerty quick start example project
Stars: ✭ 11 (-62.07%)
Mutual labels:  sample
Play Samples
Stars: ✭ 335 (+1055.17%)
Mutual labels:  sample
Rxjava2 Android Samples
RxJava 2 Android Examples - Migration From RxJava 1 to RxJava 2 - How to use RxJava 2 in Android
Stars: ✭ 4,950 (+16968.97%)
Mutual labels:  sample
Cloud Sample Library
TBD
Stars: ✭ 14 (-51.72%)
Mutual labels:  sample
Metrica Sample Dotnet
Yandex AppMetrica SDK Sample for Windows
Stars: ✭ 11 (-62.07%)
Mutual labels:  sample
Demo Multi Lang
Simple libp2p demos implemented in Go, JS and Rust
Stars: ✭ 17 (-41.38%)
Mutual labels:  sample

Hana Native Adapter Development in Java

Overview

While Hana can be seen as yet another database to read data from or load data in using external tools, Hana has built-in capabilities for batch and realtime data provisioning and data federation. Any adapter registered in Hana can be used to query remote sources using regular Hana SQL commands and, if the adapter supports this capability, push changes into Hana tables or tasks (=transformations). As all adapters written using the Adapter SDK are no different from the SAP provided adapters, they can be used by all tools and editors as well, e.g. Replication Editor, Task Flow Editor, Enterprise Semantic Search,.....

The aim of this repository is to provide adapters as source code to access more sources. These adapters are provided by SAP employees, partners and customers on a as-is basis with the indention of being used in production environments and to act as examples.

For more details refer to Hana Smart Data Integration at SCN. The Adapter SDK is part of the Hana EIM option and as such fully documented in help.sap.com

Contributing

This is an open source project under the Apache 2.0 license, and every contribution is welcome. Issues, pull-requests and other discussions are welcome and expected to take place here.

Sample Adapters

  • WriteBackAdapter: Shows the writeback capabilities, meaning read data from hana and push to remote source
  • DemoAdapter: Shows the virtual function and virtual procedures capablities.
  • JDBCAdapter: Shows how to connect to the remote DB using jdbc and also rewriting HANA SQL Query to remote format
  • RealTimeTestAdapter: Shows Real time replication capablities.
  • WebServiceAdapter: Shows how to call httpserver and expose the response via Adapter SDK. See link

SQL to use custom adapter

--Note: You do not need to run drop command but this provides you an idea what command to run for clean up

drop agent "DebugAgent" cascade;

create agent "DebugAgent" protocol 'TCP' host '<your host ip>' port 5050;

--Check if Agent is registered. Make sure host:port are properly setup.
select * from agents;

--Custom Adapter Registration
drop adapter "WriteBackAdapter" cascade;
create adapter "WriteBackAdapter" at location agent "DebugAgent";

--Run the following if remote source config or capabilities are updated.
alter adapter "WriteBackAdapter" refresh at location agent "DebugAgent";


--Check for adpater registration.
select * from adapters;

--Create WriteBackAdapter Remote Source. Always use UI for doing the following but you can use SQL for testing.
drop remote source "MyRemoteSource" cascade;
CREATE REMOTE SOURCE "MyRemoteSource" ADAPTER "WriteBackAdapter" AT  LOCATION agent "DebugAgent" 
 CONFIGURATION '<?xml version="1.0" encoding="UTF-8"?>
 <ConnectionProperties name="testParam">
	<PropertyEntry name="name">Hana_Studio</PropertyEntry>
 </ConnectionProperties>
'	
 WITH CREDENTIAL TYPE 'PASSWORD' USING 
 '<CredentialEntry name="credential">
		<username>testuser</username>
		<password>testpassword</password>
</CredentialEntry>';

--HANA stores your remote source configuration in the following table.
select * from remote_sources;


--Check if above configuration is correct.
call CHECK_REMOTE_SOURCE('MyRemoteSource');

--Browse via ui.
 CALL "PUBLIC"."GET_REMOTE_SOURCE_OBJECT_TREE" ('MyRemoteSource','',?,?);

--Import the table to hana
drop table "SYSTEM"."test_table";
CREATE VIRTUAL TABLE "SYSTEM"."test_table" at "MyRemoteSource"."<NULL>"."<NULL>"."InMemoryTable";

--Select from source table.
select * From "SYSTEM"."test_table";

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].