Tuesday, 23 June 2015

On Stack Overflow: Deploying an existing .NET...

On #StackOverflow: Deploying existing .NET project to #Bluemix #ibmgep #dotnet #developers

On Stack Overflow: Deploying an existing .NET...

I want to deploy my .NET application to the Bluemix platform. Can any one tell me what are the necessary steps for it?
IBM Technical Rock Star Program

IBM Cloud Technologies: How They All Fit Together

@IBMCloud Technologies: Wondering How They All Fit Together? #bluemix #cloud @ibmge #ibmpw

IBM Cloud Technologies: How They All Fit Together


IBM Technical Rock Star Program

Using Cloud Code, Mobile Application Security,...

Using #Cloud Code, #Mobile App #Security, Node.js and #Bluemix #nodejs #ibmpartners #smb

Using Cloud Code, Mobile Application Security,...

Tutorial on writing an application that makes use of a Node.js app running on Bluemix, Cloudant and Mobile Application Security (MAS).
IBM Technical Rock Star Program

Around the World In 30 Days With IBM Cloud...

Around the World in 30 Days With #IBM #Cloud Developer Bootcamps #developers #ibmge #ibmdw

Around the World In 30 Days With IBM Cloud...

The Cloud Developer Bootcamp is a multi-day event taking place throughout the month of June in over 30 cities around the world!
IBM Technical Rock Star Program

Tuesday, 20 January 2015

Watson Analytics: Powerful yet Easy-to-use Analytical Tool available on Cloud


Watson Analytics defined

In September 2014, IBM announced IBM Watson Analytics, A self-service, cloud-based analytics solution that provides an easy way to quickly source data, discover insights, predict outcomes and visualize results.  Watson Analytics (WA) is powered by IBM’s Watson cognitive computing technology built on IBM’s SoftLayer technology and available on the IBM Marketplace. 

Unlike analytics offerings designed primarily for data scientists and analysts predominantly focused on visualization, IBM WA automates steps like data preparation, predictive analysis, and visual storytelling for business professionals across data intensive disciplines including marketing, sales, operations, finance and human resources.

WA service is available thru watsonanalytics.com in two flavors –
1) In the freemium model service is provided free to a large group of users and designed to run on desktop and mobile devices.
2) In premium model service is charged for access to more data sources, data storage and enterprise capabilities.

Find out what matters to your business using cloud-based, self-serve data insight. Watson Analytics puts the power in your hands to ask questions and see where to take action.

 

Why Watson Analytics?

You must be wondering why another analytics tool when we have so many powerful tools available which can answer any question business users asks for. Let me tell you the fact - analysts say only a small fraction of business professionals use analytics tools as part of their decision making today primarily because the tools are  - (i) too complex, (ii) hard to access, and (iii) require the skill set of a data scientist. Reason is clear because these analytical tools are not developed keeping business users in mind but technical people to develop customized solutions for end users.


As per the VP of IBM Business Analytics, Eric Sall

The purpose of Watson Analytics is to reinvent that whole analytical experience and to help a businessperson, not a specialist, but to help a businessperson inform their decisions with better information and better insight. With Watson Analytics we’ve helped you acquire the data, helped you cleanse the data—that’s an important problem because most data has issues in it. For example, in the ‘State’ field, if you’ve got a customer file in the State field, it might be ‘NY’ for one record and ‘New York’ in another record, and that really means the same thing, right? And you’ve got to do that kind of cleaning-up of data in order to get meaningful analysis to it. So, we’ve made that easier.

Then, we also automatically take your data and surface what matters most. For example, let’s take an online retailer. What they might want to know is why certain types of product lines are selling in one region and not in other. What’s driving those sales? Is it the demographics of the user? Is it the product assortment? Is it the channel that they came in by, etc.? Those are the kinds of things that a marketing person needs to understand to better understand how they can target some of their efforts.

Watson Analytics also removes a lot of the barriers for business professionals around usability, getting and cleansing data, learning different analytical techniques and the cost. WA uses natural language to make interaction with powerful, predictive analytics easier with the ability to understand key questions, such as: What are the key drivers of my product sales? Which benefits drive employee retention the most? Which deals are most likely to close?

 

4 key innovations

These are the four WA key innovations that enable business users to unlock the value of analytics at the same time reduce the skills required to engage in advanced analytic – 

1.      Self-service: As a business user, you can be completely self-enabled to conceive a need, to get the data, to analyze it, and to communicate the results all by yourself. Watson Analytics features the use of predictive analytics to surface key relevant facts and uncover unforeseen patterns and relationships. This process sparks new questions and better insight, directing users to parts of their business that matter most.
2.      Natural Language Dialogue Watson Analytics speaks the language of business and people by enabling someone to simply type in what they would like to see. WA produces results that explain why things happened and what's likely to happen, all in familiar business terms. And as business professionals interact with the results, they can fine-tune questions to get to the heart of the matter.
3.      Single Business Analytics Experience – Unlike today’s separate analytics tools designed for different kinds of analysis and data tasks, Watson Analytics is a seamless, unified experience that brings together a set of self-service enterprise data and analytics capabilities on the cloud. Business professionals identify their problem, and Watson Analytics can help them source the data, cleanse and refine it, discover insights, predict outcomes, visualize results, create reports or dashboards, and collaborate with others.
4.      Stories: The stories are like templates to start you off on your analytics process. It could be things like campaign management for a marketing person; win-loss analysis for sales; employer retention for HR. These are pre-created examples that you can use just to learn what you might do, or use as a template for your own analysis if your business problem is similar.



Watson Analytics offers a full range of self-service analytics, including access to easy-to-use data refinement and data warehousing services that make it simpler for business users to acquire, prepare, analyze, and visualize data. 

 

Get Started with Watson Analytics 

Lets get started with Online Shopping data and learn how to use Watson Analytics to get the insights from it. 
 

Below presentation takes you to the main features of Watson Analytics step-by-step for catering business case.

This presentation will help you step-by-step explore core features of Watson Analytics  for textile business case. 

 

Take a quick tour in this video and see how quickly you can get started analyzing your data (2:13 minutes).


Watson Analytics was announced at IBM Innovate 2014 event. Check out this demo done by Marcus Hearne (@marcushearne) (11:48 minutes)


Create data visualization dashboards so you can share insights with others. This tutorial demonstrates how to use ad-hoc dashboarding in the Watson Analytics Assemble function (1:44 minutes).

 

 

References:

1) IBM Introduces Powerful Analytics for Everyone
2) Watson Ushers in Era of Analytics for All
3) Watson Analytics and the future of the data scientist - A Q&A with Eric Sall, Vice President of Business Analytics, IBM
4) IBM Watson Analytics YouTube channel

Wednesday, 24 September 2014

Cognos BI integration with BigInsights using BigSQL: Use-cases and How to



In this blog we’ll develop Cognos BI reports using BigInsights (Hadoop distribution) along with warehouse data sources. “Data warehouse augmentation” is a Big Data use case of huge importance to the traditional analytics industry (Visit http://www.ibm.com/developerworks/library/ba-augment-data-warehouse1/index.html to know more).  To explore and implement a big data project, you can augment existing data warehouse environments by introducing one or more use cases given below, as the business requires.


This blog is directly helpful in case-3 however use of BigSQL would be used effectively in all 3 cases. In my previous blogs, we discussed Cognos BI in detail so if you are new probably you can check details here - http://www.ibm.com/software/products/en/business-intelligence. Below I am giving a brief description of BigInsights and BigSQL before we start integration steps.
IBM InfoSphere BigInsights (http://www.ibm.com/software/data/infosphere/biginsights/) combines Apache Hadoop (including the MapReduce framework and the Hadoop Distributed File Systems) with unique, enterprise-ready technologies and capabilities from across IBM, including Big SQL, built-in analytics, visualization, BigSheets, and security. InfoSphere BigInsights is a single platform to manage all of the data. InfoSphere BigInsights offers many benefits:
  • Provides flexible, enterprise-class support for processing large volumes of data by using streams and MapReduce
  • Enables applications to work with thousands of nodes and petabytes of data in a highly parallel, cost effective manner
  • Applies advanced analytics to information in its native form to enable ad hoc analysis
  • Integrates with enterprise software
Big SQL (http://www.ibm.com/developerworks/library/bd-bigsql/) provides SQL access to data that is stored in InfoSphere BigInsight by using JDBC, ODBC, and other connections. Big SQL supports large ad hoc queries by using IBM SQL/PL support, SQL stored procedures, SQL functions, and IBM Data Server drivers. These queries are low-latency queries that return information quickly to reduce response time and provide improved access to data. Big SQL offers unmatched simplicity, performance and security for SQL on Hadoop. It provides a single point of access and view across all big data, exactly where it lives.


OK, so with this little background we are ready to start with implementations tasks using BigSQL. In case you are interested in Hive based work, please refer - http://www.ibm.com/developerworks/library/ba-cognosbi10-infospherebiginsights/index.html. We’ll complete 3 tasks here –

1)      Setting up the environment with BigInsights 3.0, DB2 10.5 Warehouse (BLU) and Cognos BI 10.2.1 FP 3
2)      Prepare data sources. Create tables and load data in warehouse and Hadoop environment.
3)      Create Cognos data sources, meta-data model and a sample report.

Task 1 - Setting up the environment with BigInsights 3.0, DB2 10.5 (BLU) and Cognos BI 10.2.1 FP 3

In my case, all below software is installed on Radhat Enterprise Linux 6.3. In your case they all can be on different machines as well.

·         For Cognos BI 10.2.1 setup you can either download free developer edition for Windows from IBM website (http://www.ibm.com/developerworks/downloads/im/cognosbi/) or use the installation steps given in my previous blog (http://vmanoria.blogspot.in/2014/08/ibm-cognos-bi-installation.html) if you have the software for Linux.

·         If you don’t have licensed version for DB2 10.5 please download and install DB2 10.5 express edition (http://www-01.ibm.com/software/data/db2/express-c/download.html). Installation steps are shown here for Windows https://www.youtube.com/watch?v=2AtSEHC6iAQ

·         For BigInsights 3.0 setup you can either download free QuickStart edition images from IBM website (http://www.ibm.com/developerworks/downloads/im/biginsightsquick/) or use the installation steps given in my previous blog (http://vmanoria.blogspot.in/2014/08/infosphere-biginsight-30-installation.html) if you have the software. If you are not using images then you also need to follow below steps.

·         Copy BigSQL drivers in Cognos library folder and restart Cognos BI services.

cp /opt/ibm/biginsights/bigsql/bigsql1/jdbc/bigsql-jdbc-driver.jar /opt/ibm/cognos/c10_64/webapps/p2pd/WEB-INF/lib/




Task 2 - Prepare data sources. Create tables and load data in warehouse and Hadoop environment.

To keep the things simple we are going to work here with 3 tables – 1) Student 2) Student_Details and 3) Student_Facts. First two tables are being created in DB2 environment. Third table would be created BigInsights HDFS environment using BigSQL. After that we'll create Student_Details table in HDFS environment and load the data from DB2 DB using JDBC driver.

In DB2 BLU, lets create table - 1) Student 2) Student_Details and load data from csv files. Below commands are being run on RHEL shell.

[root@scekvm1 sample]# su db2inst1

[db2inst1@scekvm1 sample]$ ls
ER.jpg  Exam.csv  Old  Performance.csv  QBank.csv  Student.csv  Student_Details.csv  StuFact.csv

[db2inst1@scekvm1 sample]$ db2 connect to gs_db

   Database Connection Information

 Database server        = DB2/LINUXX8664 10.5.3
 SQL authorization ID   = DB2INST1
 Local database alias   = GS_DB

[db2inst1@scekvm1 sample]$ db2 -tvf db2ddl.sql
CREATE TABLE DB2INST1.STUDENT ( STUDENT_ID INTEGER NOT NULL, STUDENT_NAME VARCHAR (30)NOT NULL, YEAR_OF_ADMISSION INTEGER NOT NULL, SCHOOL VARCHAR (30)NOT NULL, CLASS VARCHAR (10)NOT NULL, SECTION VARCHAR (3) NOT NULL, HOSTELER VARCHAR (3) NOT NULL )
DB20000I  The SQL command completed successfully.

CREATE TABLE DB2INST1.STUDENT_DETAILS ( STUDENT_ID INTEGER NOT NULL, DOB DATE NOT NULL, GENDER VARCHAR (2) NOT NULL, HOME_CITY VARCHAR (15) NOT NULL, HOME_STATE VARCHAR (3) NOT NULL, ADMISSION_CATEGORY VARCHAR (15) NOT NULL, SOCIAL_CATEGORY VARCHAR (15) NOT NULL, SCHOOL_CATEGORY VARCHAR (15) NOT NULL, NATIONALITY VARCHAR (15) NOT NULL, RELIGION VARCHAR (15) NOT NULL )
DB20000I  The SQL command completed successfully.

[db2inst1@scekvm1 sample]$ db2 import from Student.csv of del messages msg.txt insert into student

Number of rows read         = 1000
Number of rows skipped      = 0
Number of rows inserted     = 1000
Number of rows updated      = 0
Number of rows rejected     = 0
Number of rows committed    = 1000

[db2inst1@scekvm1 sample]$ db2 import from Student_Details.csv of del messages msg.txt insert into student_details

Number of rows read         = 1000
Number of rows skipped      = 0
Number of rows inserted     = 1000
Number of rows updated      = 0
Number of rows rejected     = 0
Number of rows committed    = 1000

SQL3107W  At least one warning message was encountered during LOAD processing.



Now in BigInsights, let us create Hadoop tables for Student_Details & Student_Facts. After that we’ll load data in Student_Details from DB2 and in Student_Facts from csv file. Before we start please make sure BigInsights is running. If not then please start it by running /opt/ibm/biginsights/bin/start-all.sh


Here we’ll use JSqsh. BigInsights supports a command-line interface for Big SQL through the Java SQL Shell (JSqsh, pronounced “jay-skwish”). JSqsh is an open source project for querying JDBC databases. You may find it handy to become familiar with basic JSqsh capabilities, particularly if you don’t expect to have access to an Eclipse environment at all times for your work. Below commands are being run on RHEL shell.

[root@scekvm1 sample]# su biadmin

[biadmin@scekvm1 sample]$ cd /opt/ibm/biginsights/jsqsh/bin/

[biadmin@scekvm1 bin]$ ls
jsqsh  jsqsh.bat

[biadmin@scekvm1 bin]$ ./jsqsh bigsql
Password:********
WARN [State:      ][Code: 0]: Statement processing was successful.. SQLCODE=0, SQLSTATE=     , DRIVER=3.67.33
JSqsh Release 2.1.2, Copyright (C) 2007-2014, Scott C. Gray
Type \help for available help topics. Using JLine.

[scekvm1.iicbang.ibm.com][biadmin] 1> 

Just copy & paste below commands on JSqsh prompt to create tables -

CREATE HADOOP TABLE IF NOT EXISTS STUDENT_FACTS (
 STUDENT_ID INTEGER NOT NULL,
 ATTENDANCE INTEGER NOT NULL,
 FEE_COLLECTED INTEGER NOT NULL,
 FEE_BALANCE INTEGER NOT NULL,
 MARKS INTEGER NOT NULL
 )
 ROW FORMAT DELIMITED
 FIELDS TERMINATED BY '\t'
 LINES TERMINATED BY '\n'
 STORED AS TEXTFILE
 ;


 CREATE HADOOP TABLE IF NOT EXISTS STUDENT_DETAILS (
 STUDENT_ID INTEGER NOT NULL,
 DOB DATE NOT NULL,
 GENDER VARCHAR (2) NOT NULL,
 HOME_CITY VARCHAR (15) NOT NULL,
 HOME_STATE VARCHAR (3) NOT NULL,
 ADMISSION_CATEGORY VARCHAR (15) NOT NULL,
 SOCIAL_CATEGORY VARCHAR (15) NOT NULL,
 SCHOOL_CATEGORY VARCHAR (15) NOT NULL,
 NATIONALITY VARCHAR (15) NOT NULL,
 RELIGION VARCHAR (15) NOT NULL
 )
 ROW FORMAT DELIMITED
 FIELDS TERMINATED BY '\t'
 LINES TERMINATED BY '\n'
 STORED AS TEXTFILE; 


You'll get response like this -

0 rows affected (total: 0.49s)

Now lets load the data in table STUDENT_FACTS from the csv file. Here's the command -

LOAD HADOOP USING FILE URL  
'file:///images/vmanoria/engagements/sample/StuFact.csv'
WITH SOURCE PROPERTIES ('field.delimiter'=',')
INTO TABLE STUDENT_FACTS OVERWRITE;


On successful completion, you'll get response like this -

WARN [State:      ][Code: 5108]: The LOAD HADOOP statement completed. Number of rows loaded into the Hadoop table: "1000".  Total number of  source records: "1000".  If the source is a file, number of lines skipped: "0".  Number of source records that were rejected: "0".  Job identifier: "job_201409242156_0009".. SQLCODE=5108, SQLSTATE=     , DRIVER=3.67.33
0 rows affected (total: 21.26s)

Now lets load data in table STUDENT_DETAILS from DB2 database table we created earlier. 

LOAD HADOOP USING JDBC CONNECTION URL
'jdbc:db2://scekvm1:50000/GS_DB'
 WITH PARAMETERS (user = 'db2inst1',password='db2inst1')
FROM TABLE STUDENT_DETAILS SPLIT COLUMN STUDENT_ID
INTO TABLE STUDENT_DETAILS APPEND
WITH LOAD PROPERTIES ( 'num.map.tasks' = 1)




Task-3) Create Cognos data sources, meta-data model and a sample report.

Let’s quickly create two data source connections from Cognos Administration interface. One with DB2 database GS_DB in our case and another JDBC connection using “IBM Infosphere BigInsights (Big SQL)” as shown below. Provide valid sign-on details and test the connection.


Now let’s open Framework Manager and pull the tables from respective sources. Create relationships between them and set the query items properties correctly. Like in my case I changed usage property of ‘Student_ID’ with ‘identifier’ which previously was ‘fact’ due to its integer data type. Before you create and publish the package, just test if the aggregate data is coming out correctly. Now you can create a package and publish it on Cognos Connection.


Now you are ready to create your report using Report Studio.


 
References:

Cognos Business Intelligence 10.2 reporting on InfoSphere BigInsights (Using Hive)

Big data and data warehouse augmentation

Use big data technologies as a landing zone for source data

Use big data technology for an active archive

Use big data technologies for initial data exploration

Whats the big deal about Big SQL?