Saturday 15 December 2018

My Running Affair


The legend has it that in the year 490 BC the Persians tried to invade Greece. The war was fought between the citizens of Athens and a mighty Persian army in the battlefields of Marathon. The Greek army decisively defeated the more numerous Persians. The news of victory was instantly shared with Athenians by WhatsApp. It was instantly a worldwide top trend over the twitter, Instagram was flooded with gruesome picture of mutilated Persian soldiers. Oh! sorry there was no internet back then, not even telephone or a radio. So, they used their own fastest mode of communication.
Pheidippides. No, it’s not an app. He was a human being, just like you and me, who was tasked to run from Marathon to Athens and share the good news with the Spartans. It is said that he ran the entire distance without stopping and burst into the assembly “Joy to you, we have won.” And then and there he died breathing his last breath with the words “joy to you “.  The joy experienced by him was not just of the victory of Greeks over Persians but must also have been intensified by what is called as the runners high. Simply put, it is the happy feeling we experience when we run. But those who have experienced this state of pure bliss also call it fulfillment, zero gravity, invincibility and even Nirvana. Who wouldn’t want to nirvana? And who wouldn’t want nirvana for free? So did I. The day I learned about this free high I started reading everything about it. 
The scientists have found out that during long runs our brain pumps out endorphins and endocannabinoids which make us happy, relive pain and just lift our mood.  I just had to try this out. I had a huge advantage with me. I live just next to the only clean lake they still have left in Bangalore. The first day I tried running I couldn’t even run for a single minute. I was completely out of breath. Exhausted. I looked around me, the lake has a beautiful park and it is littered with joggers every morning. I saw a group of Uncles at least 6 of them, all out of shape, all 40 plus, jogging comfortably chatting with each other. I thought how is this even possible? They went past me. I sat on the nearest bench. A few minutes passed, and this group of uncles returned going all the way from the other end of the park. This park is huge. From one end to other it is well over a kilometer.  I was just sitting there and saw them going past me again and again. I had to find out how can these people run miles with no effort and I couldn’t even do a few meters. I started reading more about running and stumbled upon a program called Couch to 5K. It is a fantastic program designed to get anyone, including people like me who have no running experience, from couch to running 5km or 30 minutes in 9 weeks. I decided to give it a try. First couple of weeks I struggled, somehow managed to do half of what was asked. Then I went home for a vacation and my first attempt to C25K was over, so my passion for running, at least for a while. I was still going to the park in the morning just to enjoy the cool morning breeze. I was still seeing people running miles and secretly having a nirvana. Slowly the latent desire sparked again, and I started my second attempt. Failed again. And again. Every couple of weeks I would follow the program and other couple of weeks I would be too lazy to even get up from the bed. However slowly I graduated to week 5 of the program, not in 5 weeks, may be in a year altogether. This week 5 is the biggest hurdle.  Up until week 4 the program only asks you to run for at most 5 to 7 mins at a stretch. But in week 5 you have to run a full 20 minutes non-stop. I was pretty confident that I will fail miserably. I will at most run 10 min and then will be looking for the nearest bench to catch my breath. Anyways, I thought let’s do it, let’s see how far I can go. Guess what?? To my utter astonishment, I ran for a full 20 mins non-stop. I was exhausted, but I was in a bliss. I had my nirvana. 
Now I can run 10Ks with ease, I have participated in a 10k race. I have got a medal too. My first ever medal in athletics.   And so far, I have done a maximum of 15k nonstop run.



Saturday 28 April 2018

SAP HANA interview preparations Day 2

Data Provisioning

Important links

https://blogs.sap.com/2016/07/05/the-various-data-provisioning-options-for-hana/

https://www.guru99.com/data-provisioning-sap-hana.html

https://blogs.sap.com/2014/11/27/hana-sp9-data-provisioning-overview/


Major ETL Tools

BODS/  SAP Data Services

SDA

SLT

SDI

BODS

works with any source and any target, most widely used ETL tool. It focuses on Batch performance, connectivity to any source and any target also provides fairly complex transformations.

Project Use

Source: flat files of two type delimited and fixed width
Target : SAP HANA tables (columnar ) called landing layer

Transformation : mostly 1 to 1 direct mapping, cleansing like removal of trailing white spaces, leading zeros, junk characters .

Structure :

JOBS -  Workflow - Data flow - Pre-processor - Post processor


SDA

(Smart Data Access) enables use of virtual tables in HANA,  These are HANA objects that point to an external table and provides data remotely to HANA, does not store any data in HANA. It is just a pointer to a remote table.

Project Use: Get ECC reference data like province code, activity code, contract treatment code etc.

How to :

Creating virtual table
                Right click, -> new virtual table
                Browse -> select table

Creating Data sources
               Provisioning-> Remote Source -> Create new remote Source
               Provide connection details
               Run


Connection managed by separate team

SLT/SDI not used


SDI
 Smart Data Integration, SAP built all in one solution for all data provisioning needs
Any source target is only HANA
 Supports batch and real time
allows transformation

SLT SAP Landscape Transformation
 Trigger based Data replication from any source  to HANA
Real time
Source ECC
Target HANA


Saturday 21 April 2018

Data Science Voyage Notes - 1

I have started with Udacity course on Problem Solving with Advanced Analytic.

Today I completed lesson 1 of this course on the Analytical Problem Solving Framework.

This course introduces the CRISP-DM methodology or the Cross Industry Process for Data Mining, initially built for data mining problem but useful for all types of business problems. The framework used in this course is generalized from CRISP-DM.

This framework uses a six step process for problem solving 

  1. Business Issue Understanding
  2. Data Understanding
  3. Data Preparation
  4. Analysis/ Modelling
  5. Validation
  6. Presentation

Interview preprations SAP HANA Day 1


Questions :

Q 1 : Difference between Catalog and Content folder in SAP HANA Studio project explorer.

The Catalog View gives a view on the runtime objects of the database artifacts. The first level you see under this view is the schema to which the runtime objects are assigned. In case you create e.g. a table using DDL statement CREATE TABLE you see created runtime object for the table under the schema which was used in the statement (but the table is not visible in the Content view).
The Content View gives a view on the design time objects of e.g. database artifacts (and further static content) stored in the HANA repository (therefore the objects are also called repository objects). Under the Content View the design time objects are organized in packages (1 to n levels). The activation of a design time object for a database object leads to the creation of the runtime object in the specified database schema. So if you create e.g. a table via an hdbtable artifact (e.g. mypackage.test.TestTable.hdbtable) and activate it you can see in the Content view the design time object "TestTable.hdbtable" in package "mypackage.test" and in the Catalog view under the schema you defined in the design object the runtime object "mypackage.test::TestTable".

source : https://archive.sap.com/discussions/thread/3845399
Q2:  Difference Between HANA Modeler and Developer
Modeler perspective 
You can model entities in SAP HANA using the Modeler perspective, which includes graphical data modeling tools that allow you to create and edit data models (content models) and stored procedures. With these tools, you can also create analytic privileges that govern the access to the models, and decision tables to model related business rules in a tabular format for decision automation.
You can create the following types of information views:
● Attribute Views 
● Analytic Views 
Calculation Views
Task that can be performed using Modeler Perspective 
Task Meaning
Import metadata Create tables by importing the table definitions from the source systems using the Data Services infrastructure.
Load data Load data into the table definitions imported from the source system using the Load Controller, SAP Sybase Replication Server or SAP Landscape Transformation, and from flat files.
Create packages Logically group objects together in a structured way.
Create information views Model various slices of the data stored in the SAP HANA database. Information views are often used for analytical use cases, such as operational data mart scenarios or multidimensional reporting on revenue, profitability, and so on.
Create procedures Create procedures using SQLScript for implementing a complex logic that cannot be achieved using other objects.
Create analytic privileges Control which data that individual users sharing the same data foundation or view can see.
Import SAP BW objects Import SAP BW objects into SAP HANA, and expose them as information views.
Create decision tables Create a tabular representation of related rules using conditions and actions.
Import and export objects Import and export the content objects from and to the client and server location. 

Development Perspective 
Used for programming applications, that is, creating development objects that access or update the data models, such as server-side JavaScript or HTML files.
Provides views and menu options that enable you to perform all the tasks relating to application development on SAP HANA XS, for example: to manage application-development projects, display content of application packages, and browse the SAP HANA repository. You can also define your data-persistence model here by using design-time artifacts to define tables, views, sequences, and schemas.