You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@spark.apache.org by Mich Talebzadeh <mi...@gmail.com> on 2016/07/11 04:48:49 UTC
Problem connecting Zeppelin 0.6 to Spark Thrift Server
Hi,
I can use JDBC connection to connect from Squirrel client to Spark thrift
server and this works fine.
I have Zeppelin 0.6.o that works OK with the default spark interpreter.
I configured JDBC interpreter to connect to Spark thrift server as follows
[image: Inline images 1]
I can use beeline to connect to STS no problem
beeline -u jdbc:hive2://rhes564:10055 -n hduser -p
Connecting to jdbc:hive2://rhes564:10055
Connected to: Spark SQL (version 1.6.1)
Driver: Hive JDBC (version 2.0.0)
16/07/11 05:39:19 [main]: WARN jdbc.HiveConnection: Request to set
autoCommit to false; Hive does not support autoCommit=false.
Transaction isolation: TRANSACTION_REPEATABLE_READ
Beeline version 2.0.0 by Apache Hive
Now the problem I have when I use Zeppelin to connect to STS with "show
databases", I I get the following error in jdbc log
INFO [2016-07-11 05:43:27,132] ({pool-2-thread-4}
SchedulerFactory.java[jobFinished]:137) - Job
remoteInterpretJob_1468212207128 finished by scheduler
org.apache.zeppelin.jdbc.JDBCInterpreter121016079
INFO [2016-07-11 05:43:54,413] ({pool-2-thread-6}
SchedulerFactory.java[jobStarted]:131) - Job
remoteInterpretJob_1468212234413 started by scheduler
org.apache.zeppelin.jdbc.JDBCInterpreter121016079
INFO [2016-07-11 05:43:54,413] ({pool-2-thread-6}
JDBCInterpreter.java[interpret]:385) - Run SQL command 'show databases'
INFO [2016-07-11 05:43:54,414] ({pool-2-thread-6}
JDBCInterpreter.java[interpret]:394) - PropertyKey: default, SQL command:
'show databases'
INFO [2016-07-11 05:43:54,418] ({pool-2-thread-6}
JDBCInterpreter.java[getConnection]:219) -
ERROR [2016-07-11 05:43:54,418] ({pool-2-thread-6}
JDBCInterpreter.java[executeSql]:366) - Cannot run show databases
java.lang.ClassNotFoundException:
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:264)
at
org.apache.zeppelin.jdbc.JDBCInterpreter.getConnection(JDBCInterpreter.java:220)
at
org.apache.zeppelin.jdbc.JDBCInterpreter.getStatement(JDBCInterpreter.java:233)
at
org.apache.zeppelin.jdbc.JDBCInterpreter.executeSql(JDBCInterpreter.java:292)
at
org.apache.zeppelin.jdbc.JDBCInterpreter.interpret(JDBCInterpreter.java:396)
at
org.apache.zeppelin.interpreter.LazyOpenInterpreter.interpret(LazyOpenInterpreter.java:94)
at
org.apache.zeppelin.interpreter.remote.RemoteInterpreterServer$InterpretJob.jobRun(RemoteInterpreterServer.java:341)
at org.apache.zeppelin.scheduler.Job.run(Job.java:176)
at
org.apache.zeppelin.scheduler.ParallelScheduler$JobRunner.run(ParallelScheduler.java:162)
at
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
at
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
BTW I made both the following jars available under
$ZEPPELIN_HOME/interpreter/jdbc
lrwxrwxrwx 1 hduser hadoop 37 Jul 10 14:35 hive-jdbc-2.0.0.jar ->
/usr/lib/hive/lib/hive-jdbc-2.0.0.jar
lrwxrwxrwx 1 hduser hadoop 36 Jul 10 19:56 hive-cli-2.0.0.jar ->
/usr/lib/hive/lib/hive-cli-2.0.0.jar
Appreciate any feedback
Dr Mich Talebzadeh
LinkedIn * https://www.linkedin.com/profile/view?id=AAEAAAAWh2gBxianrbJd6zP6AcPCCdOABUrV8Pw
<https://www.linkedin.com/profile/view?id=AAEAAAAWh2gBxianrbJd6zP6AcPCCdOABUrV8Pw>*
http://talebzadehmich.wordpress.com
*Disclaimer:* Use it at your own risk. Any and all responsibility for any
loss, damage or destruction of data or any other property which may arise
from relying on this email's technical content is explicitly disclaimed.
The author will in no case be liable for any monetary damages arising from
such loss, damage or destruction.
Re: Problem connecting Zeppelin 0.6 to Spark Thrift Server
Posted by Mich Talebzadeh <mi...@gmail.com>.
Hi Michael,
I have solved your reader's issue as I explained in the thread below
problem making Zeppelin 0.6 work with Spark 1.6.1, throwing
jackson.databind.JsonMappingException exception
Also you just need to unset $CLASSPATH before starting zeppelin shell etc.
It will work
HTH
Dr Mich Talebzadeh
LinkedIn * https://www.linkedin.com/profile/view?id=AAEAAAAWh2gBxianrbJd6zP6AcPCCdOABUrV8Pw
<https://www.linkedin.com/profile/view?id=AAEAAAAWh2gBxianrbJd6zP6AcPCCdOABUrV8Pw>*
http://talebzadehmich.wordpress.com
*Disclaimer:* Use it at your own risk. Any and all responsibility for any
loss, damage or destruction of data or any other property which may arise
from relying on this email's technical content is explicitly disclaimed.
The author will in no case be liable for any monetary damages arising from
such loss, damage or destruction.
On 11 July 2016 at 12:26, Michael Malak <mi...@yahoo.com> wrote:
> A reader of my book (with Robin East), Spark GraphX in Action, which
> covers Zeppelin 0.5.6, noted some problems with the then-branch of Zeppelin
> 0.6 three months ago and opened a Jira ticket.
>
>
> https://forums.manning.com/posts/list/38134.page;jsessionid=20983B312D468218C81F935580AB1E7E
>
> https://issues.apache.org/jira/browse/ZEPPELIN-814
>
>
> ------------------------------
> *From:* Mich Talebzadeh <mi...@gmail.com>
> *To:* Chanh Le <gi...@gmail.com>
> *Cc:* "user @spark" <us...@spark.apache.org>
> *Sent:* Monday, July 11, 2016 12:53 AM
> *Subject:* Re: Problem connecting Zeppelin 0.6 to Spark Thrift Server
>
> Thanks Chanh
>
> After adding these artifacts to
>
> [image: Inline images 2]
>
>
>
> [image: Inline images 1]
>
> running this code
> %hive
> select ...
>
>
>
> Keeps running but hangs
>
> In zeppelin-interpreter-jdbc-hduser-rhes564.log I get
>
> INFO [2016-07-11 07:43:21,934] ({pool-2-thread-2}
> JDBCInterpreter.java[open]:142) - key: default, value: url
> ERROR [2016-07-11 07:43:21,934] ({pool-2-thread-2}
> JDBCInterpreter.java[open]:159) - zeppelin will be ignored. driver.zeppelin
> and zeppelin.url is mandatory.
> INFO [2016-07-11 07:43:21,935] ({pool-2-thread-2}
> JDBCInterpreter.java[getConnection]:219) - org.apache.hive.jdbc.HiveDriver
> INFO [2016-07-11 07:43:22,058] ({pool-2-thread-2}
> Utils.java[parseURL]:312) - Supplied authorities: rhes564:10010
> INFO [2016-07-11 07:43:22,060] ({pool-2-thread-2}
> Utils.java[parseURL]:428) - Resolved authority: rhes564:10010
> INFO [2016-07-11 07:43:22,212] ({pool-2-thread-2}
> SqlCompleter.java[getSqlKeywordsCompletions]:142) - JDBC
> DriverName:/hive-jdbc-sql.keywords
> ERROR [2016-07-11 07:43:22,504] ({pool-2-thread-2}
> SqlCompleter.java[getColumnNames]:223) - Failed to retrieve the column name
> org.apache.hive.service.cli.HiveSQLException:
> MetaException(message:java.lang.ClassNotFoundException Class
> com.cloudera.hive.serde.JSONSerDe not found)
> at org.apache.hive.jdbc.Utils.verifySuccess(Utils.java:258)
> at org.apache.hive.jdbc.Utils.verifySuccess(Utils.java:249)
> at
> org.apache.hive.jdbc.HiveDatabaseMetaData.getColumns(HiveDatabaseMetaData.java:220)
> at
> org.apache.zeppelin.jdbc.SqlCompleter.getColumnNames(SqlCompleter.java:205)
> at
> org.apache.zeppelin.jdbc.SqlCompleter.getDataModelMetadataCompletions(SqlCompleter.java:196)
> at
> org.apache.zeppelin.jdbc.JDBCInterpreter.createSqlCompleter(JDBCInterpreter.java:191)
> at
> org.apache.zeppelin.jdbc.JDBCInterpreter.open(JDBCInterpreter.java:177)
> at
> org.apache.zeppelin.interpreter.LazyOpenInterpreter.open(LazyOpenInterpreter.java:69)
> at
> org.apache.zeppelin.interpreter.LazyOpenInterpreter.interpret(LazyOpenInterpreter.java:93)
> at
> org.apache.zeppelin.interpreter.remote.RemoteInterpreterServer$InterpretJob.jobRun(RemoteInterpreterServer.java:341)
> at org.apache.zeppelin.scheduler.Job.run(Job.java:176)
> at
> org.apache.zeppelin.scheduler.ParallelScheduler$JobRunner.run(ParallelScheduler.java:162)
> at
> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
> at java.util.concurrent.FutureTask.run(FutureTask.java:266)
> at
> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
> at
> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
> at
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
> at java.lang.Thread.run(Thread.java:745)
> Caused by: org.apache.hive.service.cli.HiveSQLException:
> MetaException(message:java.lang.ClassNotFoundException Class
> com.cloudera.hive.serde.JSONSerDe not found)
>
>
> ... 13 more
> INFO [2016-07-11 07:43:22,582] ({pool-2-thread-2}
> JDBCInterpreter.java[getConnection]:219) -
> org.apache.phoenix.jdbc.PhoenixDriver
> INFO [2016-07-11 07:43:22,583] ({pool-2-thread-2}
> JDBCInterpreter.java[getConnection]:219) -
> INFO [2016-07-11 07:43:22,584] ({pool-2-thread-2}
> JDBCInterpreter.java[getConnection]:219) - org.apache.tajo.jdbc.TajoDriver
> INFO [2016-07-11 07:43:22,585] ({pool-2-thread-2}
> JDBCInterpreter.java[getConnection]:219) -
> INFO [2016-07-11 07:43:22,585] ({pool-2-thread-2}
> JDBCInterpreter.java[getConnection]:219) - org.postgresql.Driver
> INFO [2016-07-11 07:43:22,602] ({pool-2-thread-2}
> JDBCInterpreter.java[interpret]:385) - Run SQL command '(hive)
> SELECT t.calendar_month_desc, c.channel_desc, SUM(s.amount_sold) AS
> TotalSales
> FROM oraclehadoop.sales s, oraclehadoop.times t, oraclehadoop.channels c
> WHERE s.time_id = t.time_id
> AND s.channel_id = c.channel_id
> GROUP BY t.calendar_month_desc, c.channel_desc'
> INFO [2016-07-11 07:43:22,602] ({pool-2-thread-2}
> JDBCInterpreter.java[interpret]:394) - PropertyKey: hive, SQL command:
> 'SELECT t.calendar_month_desc, c.channel_desc, SUM(s.amount_sold) AS
> TotalSales
> FROM oraclehadoop.sales s, oraclehadoop.times t, oraclehadoop.channels c
> WHERE s.time_id = t.time_id
> AND s.channel_id = c.channel_id
> GROUP BY t.calendar_month_desc, c.channel_desc'
> INFO [2016-07-11 07:43:22,602] ({pool-2-thread-2}
> JDBCInterpreter.java[getConnection]:219) - org.apache.hive.jdbc.HiveDriver
> INFO [2016-07-11 07:43:22,602] ({pool-2-thread-2}
> Utils.java[parseURL]:312) - Supplied authorities: rhes564:10010
> INFO [2016-07-11 07:43:22,603] ({pool-2-thread-2}
> Utils.java[parseURL]:428) - Resolved authority: rhes564:10010
>
> Any ideas why it is looking for Cloudera.hive.serde.JSONSerde?
>
> Thanks
>
>
> Dr Mich Talebzadeh
>
> LinkedIn * https://www.linkedin.com/profile/view?id=AAEAAAAWh2gBxianrbJd6zP6AcPCCdOABUrV8Pw
> <https://www.linkedin.com/profile/view?id=AAEAAAAWh2gBxianrbJd6zP6AcPCCdOABUrV8Pw>*
>
> http://talebzadehmich.wordpress.com
>
> *Disclaimer:* Use it at your own risk. Any and all responsibility for any
> loss, damage or destruction of data or any other property which may arise
> from relying on this email's technical content is explicitly disclaimed.
> The author will in no case be liable for any monetary damages arising from
> such loss, damage or destruction.
>
>
> On 11 July 2016 at 05:56, Chanh Le <gi...@gmail.com> wrote:
>
> Hi Mich,
> You need to add 2 dependencies
>
>
>
> and it will be fine.
>
>
>
> Hope it helps!
> Chanh
>
> On Jul 11, 2016, at 11:48 AM, Mich Talebzadeh <mi...@gmail.com>
> wrote:
>
> Hi,
>
>
> I can use JDBC connection to connect from Squirrel client to Spark thrift
> server and this works fine.
>
> I have Zeppelin 0.6.o that works OK with the default spark interpreter.
>
> I configured JDBC interpreter to connect to Spark thrift server as follows
>
>
> I can use beeline to connect to STS no problem
>
> beeline -u jdbc:hive2://rhes564:10055 -n hduser -p
>
> Connecting to jdbc:hive2://rhes564:10055
> Connected to: Spark SQL (version 1.6.1)
> Driver: Hive JDBC (version 2.0.0)
> 16/07/11 05:39:19 [main]: WARN jdbc.HiveConnection: Request to set
> autoCommit to false; Hive does not support autoCommit=false.
> Transaction isolation: TRANSACTION_REPEATABLE_READ
> Beeline version 2.0.0 by Apache Hive
>
> Now the problem I have when I use Zeppelin to connect to STS with "show
> databases", I I get the following error in jdbc log
>
> INFO [2016-07-11 05:43:27,132] ({pool-2-thread-4}
> SchedulerFactory.java[jobFinished]:137) - Job
> remoteInterpretJob_1468212207128 finished by scheduler
> org.apache.zeppelin.jdbc.JDBCInterpreter121016079
> INFO [2016-07-11 05:43:54,413] ({pool-2-thread-6}
> SchedulerFactory.java[jobStarted]:131) - Job
> remoteInterpretJob_1468212234413 started by scheduler
> org.apache.zeppelin.jdbc.JDBCInterpreter121016079
> INFO [2016-07-11 05:43:54,413] ({pool-2-thread-6}
> JDBCInterpreter.java[interpret]:385) - Run SQL command 'show databases'
> INFO [2016-07-11 05:43:54,414] ({pool-2-thread-6}
> JDBCInterpreter.java[interpret]:394) - PropertyKey: default, SQL command:
> 'show databases'
> INFO [2016-07-11 05:43:54,418] ({pool-2-thread-6}
> JDBCInterpreter.java[getConnection]:219) -
> ERROR [2016-07-11 05:43:54,418] ({pool-2-thread-6}
> JDBCInterpreter.java[executeSql]:366) - Cannot run show databases
> java.lang.ClassNotFoundException:
> at java.lang.Class.forName0(Native Method)
> at java.lang.Class.forName(Class.java:264)
> at
> org.apache.zeppelin.jdbc.JDBCInterpreter.getConnection(JDBCInterpreter.java:220)
> at
> org.apache.zeppelin.jdbc.JDBCInterpreter.getStatement(JDBCInterpreter.java:233)
> at
> org.apache.zeppelin.jdbc.JDBCInterpreter.executeSql(JDBCInterpreter.java:292)
> at
> org.apache.zeppelin.jdbc.JDBCInterpreter.interpret(JDBCInterpreter.java:396)
> at
> org.apache.zeppelin.interpreter.LazyOpenInterpreter.interpret(LazyOpenInterpreter.java:94)
> at
> org.apache.zeppelin.interpreter.remote.RemoteInterpreterServer$InterpretJob.jobRun(RemoteInterpreterServer.java:341)
> at org.apache.zeppelin.scheduler.Job.run(Job.java:176)
> at
> org.apache.zeppelin.scheduler.ParallelScheduler$JobRunner.run(ParallelScheduler.java:162)
> at
> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
> at java.util.concurrent.FutureTask.run(FutureTask.java:266)
> at
> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
> at
> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
> at
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
> at java.lang.Thread.run(Thread.java:745)
>
>
> BTW I made both the following jars available under
> $ZEPPELIN_HOME/interpreter/jdbc
>
> lrwxrwxrwx 1 hduser hadoop 37 Jul 10 14:35 hive-jdbc-2.0.0.jar ->
> /usr/lib/hive/lib/hive-jdbc-2.0.0.jar
> lrwxrwxrwx 1 hduser hadoop 36 Jul 10 19:56 hive-cli-2.0.0.jar ->
> /usr/lib/hive/lib/hive-cli-2.0.0.jar
>
> Appreciate any feedback
>
> Dr Mich Talebzadeh
>
> LinkedIn * https://www.linkedin.com/profile/view?id=AAEAAAAWh2gBxianrbJd6zP6AcPCCdOABUrV8Pw
> <https://www.linkedin.com/profile/view?id=AAEAAAAWh2gBxianrbJd6zP6AcPCCdOABUrV8Pw>*
>
> http://talebzadehmich.wordpress.com
>
> *Disclaimer:* Use it at your own risk. Any and all responsibility for any
> loss, damage or destruction of data or any other property which may arise
> from relying on this email's technical content is explicitly disclaimed.
> The author will in no case be liable for any monetary damages arising from
> such loss, damage or destruction.
>
>
>
>
>
>
>
Re: Problem connecting Zeppelin 0.6 to Spark Thrift Server
Posted by Michael Malak <mi...@yahoo.com.INVALID>.
A reader of my book (with Robin East), Spark GraphX in Action, which covers Zeppelin 0.5.6, noted some problems with the then-branch of Zeppelin 0.6 three months ago and opened a Jira ticket.
https://forums.manning.com/posts/list/38134.page;jsessionid=20983B312D468218C81F935580AB1E7E
https://issues.apache.org/jira/browse/ZEPPELIN-814
From: Mich Talebzadeh <mi...@gmail.com>
To: Chanh Le <gi...@gmail.com>
Cc: "user @spark" <us...@spark.apache.org>
Sent: Monday, July 11, 2016 12:53 AM
Subject: Re: Problem connecting Zeppelin 0.6 to Spark Thrift Server
Thanks Chanh
After adding these artifacts to
running this code%hiveselect ...
Keeps running but hangs
In zeppelin-interpreter-jdbc-hduser-rhes564.log I get
INFO [2016-07-11 07:43:21,934] ({pool-2-thread-2} JDBCInterpreter.java[open]:142) - key: default, value: url
ERROR [2016-07-11 07:43:21,934] ({pool-2-thread-2} JDBCInterpreter.java[open]:159) - zeppelin will be ignored. driver.zeppelin and zeppelin.url is mandatory.
INFO [2016-07-11 07:43:21,935] ({pool-2-thread-2} JDBCInterpreter.java[getConnection]:219) - org.apache.hive.jdbc.HiveDriver
INFO [2016-07-11 07:43:22,058] ({pool-2-thread-2} Utils.java[parseURL]:312) - Supplied authorities: rhes564:10010
INFO [2016-07-11 07:43:22,060] ({pool-2-thread-2} Utils.java[parseURL]:428) - Resolved authority: rhes564:10010
INFO [2016-07-11 07:43:22,212] ({pool-2-thread-2} SqlCompleter.java[getSqlKeywordsCompletions]:142) - JDBC DriverName:/hive-jdbc-sql.keywords
ERROR [2016-07-11 07:43:22,504] ({pool-2-thread-2} SqlCompleter.java[getColumnNames]:223) - Failed to retrieve the column name
org.apache.hive.service.cli.HiveSQLException: MetaException(message:java.lang.ClassNotFoundException Class com.cloudera.hive.serde.JSONSerDe not found)
at org.apache.hive.jdbc.Utils.verifySuccess(Utils.java:258)
at org.apache.hive.jdbc.Utils.verifySuccess(Utils.java:249)
at org.apache.hive.jdbc.HiveDatabaseMetaData.getColumns(HiveDatabaseMetaData.java:220)
at org.apache.zeppelin.jdbc.SqlCompleter.getColumnNames(SqlCompleter.java:205)
at org.apache.zeppelin.jdbc.SqlCompleter.getDataModelMetadataCompletions(SqlCompleter.java:196)
at org.apache.zeppelin.jdbc.JDBCInterpreter.createSqlCompleter(JDBCInterpreter.java:191)
at org.apache.zeppelin.jdbc.JDBCInterpreter.open(JDBCInterpreter.java:177)
at org.apache.zeppelin.interpreter.LazyOpenInterpreter.open(LazyOpenInterpreter.java:69)
at org.apache.zeppelin.interpreter.LazyOpenInterpreter.interpret(LazyOpenInterpreter.java:93)
at org.apache.zeppelin.interpreter.remote.RemoteInterpreterServer$InterpretJob.jobRun(RemoteInterpreterServer.java:341)
at org.apache.zeppelin.scheduler.Job.run(Job.java:176)
at org.apache.zeppelin.scheduler.ParallelScheduler$JobRunner.run(ParallelScheduler.java:162)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Caused by: org.apache.hive.service.cli.HiveSQLException: MetaException(message:java.lang.ClassNotFoundException Class com.cloudera.hive.serde.JSONSerDe not found)
... 13 more
INFO [2016-07-11 07:43:22,582] ({pool-2-thread-2} JDBCInterpreter.java[getConnection]:219) - org.apache.phoenix.jdbc.PhoenixDriver
INFO [2016-07-11 07:43:22,583] ({pool-2-thread-2} JDBCInterpreter.java[getConnection]:219) -
INFO [2016-07-11 07:43:22,584] ({pool-2-thread-2} JDBCInterpreter.java[getConnection]:219) - org.apache.tajo.jdbc.TajoDriver
INFO [2016-07-11 07:43:22,585] ({pool-2-thread-2} JDBCInterpreter.java[getConnection]:219) -
INFO [2016-07-11 07:43:22,585] ({pool-2-thread-2} JDBCInterpreter.java[getConnection]:219) - org.postgresql.Driver
INFO [2016-07-11 07:43:22,602] ({pool-2-thread-2} JDBCInterpreter.java[interpret]:385) - Run SQL command '(hive)
SELECT t.calendar_month_desc, c.channel_desc, SUM(s.amount_sold) AS TotalSales
FROM oraclehadoop.sales s, oraclehadoop.times t, oraclehadoop.channels c
WHERE s.time_id = t.time_id
AND s.channel_id = c.channel_id
GROUP BY t.calendar_month_desc, c.channel_desc'
INFO [2016-07-11 07:43:22,602] ({pool-2-thread-2} JDBCInterpreter.java[interpret]:394) - PropertyKey: hive, SQL command: 'SELECT t.calendar_month_desc, c.channel_desc, SUM(s.amount_sold) AS TotalSales
FROM oraclehadoop.sales s, oraclehadoop.times t, oraclehadoop.channels c
WHERE s.time_id = t.time_id
AND s.channel_id = c.channel_id
GROUP BY t.calendar_month_desc, c.channel_desc'
INFO [2016-07-11 07:43:22,602] ({pool-2-thread-2} JDBCInterpreter.java[getConnection]:219) - org.apache.hive.jdbc.HiveDriver
INFO [2016-07-11 07:43:22,602] ({pool-2-thread-2} Utils.java[parseURL]:312) - Supplied authorities: rhes564:10010
INFO [2016-07-11 07:43:22,603] ({pool-2-thread-2} Utils.java[parseURL]:428) - Resolved authority: rhes564:10010
Any ideas why it is looking for Cloudera.hive.serde.JSONSerde?
Thanks
Dr Mich Talebzadeh LinkedIn https://www.linkedin.com/profile/view?id=AAEAAAAWh2gBxianrbJd6zP6AcPCCdOABUrV8Pw http://talebzadehmich.wordpress.com
Disclaimer: Use it at your own risk. Any and all responsibility for any loss, damage or destructionof data or any other property which may arise from relying on this email's technical content is explicitly disclaimed.The author will in no case be liable for any monetary damages arising from suchloss, damage or destruction.
On 11 July 2016 at 05:56, Chanh Le <gi...@gmail.com> wrote:
Hi Mich,You need to add 2 dependencies
and it will be fine.
Hope it helps!Chanh
On Jul 11, 2016, at 11:48 AM, Mich Talebzadeh <mi...@gmail.com> wrote:
Hi,
I can use JDBC connection to connect from Squirrel client to Spark thrift server and this works fine.
I have Zeppelin 0.6.o that works OK with the default spark interpreter.
I configured JDBC interpreter to connect to Spark thrift server as follows
I can use beeline to connect to STS no problem
beeline -u jdbc:hive2://rhes564:10055 -n hduser -p
Connecting to jdbc:hive2://rhes564:10055
Connected to: Spark SQL (version 1.6.1)
Driver: Hive JDBC (version 2.0.0)
16/07/11 05:39:19 [main]: WARN jdbc.HiveConnection: Request to set autoCommit to false; Hive does not support autoCommit=false.
Transaction isolation: TRANSACTION_REPEATABLE_READ
Beeline version 2.0.0 by Apache Hive
Now the problem I have when I use Zeppelin to connect to STS with "show databases", I I get the following error in jdbc log
INFO [2016-07-11 05:43:27,132] ({pool-2-thread-4} SchedulerFactory.java[jobFinished]:137) - Job remoteInterpretJob_1468212207128 finished by scheduler org.apache.zeppelin.jdbc.JDBCInterpreter121016079
INFO [2016-07-11 05:43:54,413] ({pool-2-thread-6} SchedulerFactory.java[jobStarted]:131) - Job remoteInterpretJob_1468212234413 started by scheduler org.apache.zeppelin.jdbc.JDBCInterpreter121016079
INFO [2016-07-11 05:43:54,413] ({pool-2-thread-6} JDBCInterpreter.java[interpret]:385) - Run SQL command 'show databases'
INFO [2016-07-11 05:43:54,414] ({pool-2-thread-6} JDBCInterpreter.java[interpret]:394) - PropertyKey: default, SQL command: 'show databases'
INFO [2016-07-11 05:43:54,418] ({pool-2-thread-6} JDBCInterpreter.java[getConnection]:219) -
ERROR [2016-07-11 05:43:54,418] ({pool-2-thread-6} JDBCInterpreter.java[executeSql]:366) - Cannot run show databases
java.lang.ClassNotFoundException:
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:264)
at org.apache.zeppelin.jdbc.JDBCInterpreter.getConnection(JDBCInterpreter.java:220)
at org.apache.zeppelin.jdbc.JDBCInterpreter.getStatement(JDBCInterpreter.java:233)
at org.apache.zeppelin.jdbc.JDBCInterpreter.executeSql(JDBCInterpreter.java:292)
at org.apache.zeppelin.jdbc.JDBCInterpreter.interpret(JDBCInterpreter.java:396)
at org.apache.zeppelin.interpreter.LazyOpenInterpreter.interpret(LazyOpenInterpreter.java:94)
at org.apache.zeppelin.interpreter.remote.RemoteInterpreterServer$InterpretJob.jobRun(RemoteInterpreterServer.java:341)
at org.apache.zeppelin.scheduler.Job.run(Job.java:176)
at org.apache.zeppelin.scheduler.ParallelScheduler$JobRunner.run(ParallelScheduler.java:162)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
BTW I made both the following jars available under $ZEPPELIN_HOME/interpreter/jdbc
lrwxrwxrwx 1 hduser hadoop 37 Jul 10 14:35 hive-jdbc-2.0.0.jar -> /usr/lib/hive/lib/hive-jdbc-2.0.0.jar
lrwxrwxrwx 1 hduser hadoop 36 Jul 10 19:56 hive-cli-2.0.0.jar -> /usr/lib/hive/lib/hive-cli-2.0.0.jar
Appreciate any feedback
Dr Mich Talebzadeh LinkedIn https://www.linkedin.com/profile/view?id=AAEAAAAWh2gBxianrbJd6zP6AcPCCdOABUrV8Pw http://talebzadehmich.wordpress.com
Disclaimer: Use it at your own risk. Any and all responsibility for any loss, damage or destructionof data or any other property which may arise from relying on this email's technical content is explicitly disclaimed.The author will in no case be liable for any monetary damages arising from suchloss, damage or destruction.
Re: Problem connecting Zeppelin 0.6 to Spark Thrift Server
Posted by Mich Talebzadeh <mi...@gmail.com>.
Thanks Chanh
After adding these artifacts to
[image: Inline images 2]
[image: Inline images 1]
running this code
%hive
select ...
Keeps running but hangs
In zeppelin-interpreter-jdbc-hduser-rhes564.log I get
INFO [2016-07-11 07:43:21,934] ({pool-2-thread-2}
JDBCInterpreter.java[open]:142) - key: default, value: url
ERROR [2016-07-11 07:43:21,934] ({pool-2-thread-2}
JDBCInterpreter.java[open]:159) - zeppelin will be ignored. driver.zeppelin
and zeppelin.url is mandatory.
INFO [2016-07-11 07:43:21,935] ({pool-2-thread-2}
JDBCInterpreter.java[getConnection]:219) - org.apache.hive.jdbc.HiveDriver
INFO [2016-07-11 07:43:22,058] ({pool-2-thread-2}
Utils.java[parseURL]:312) - Supplied authorities: rhes564:10010
INFO [2016-07-11 07:43:22,060] ({pool-2-thread-2}
Utils.java[parseURL]:428) - Resolved authority: rhes564:10010
INFO [2016-07-11 07:43:22,212] ({pool-2-thread-2}
SqlCompleter.java[getSqlKeywordsCompletions]:142) - JDBC
DriverName:/hive-jdbc-sql.keywords
ERROR [2016-07-11 07:43:22,504] ({pool-2-thread-2}
SqlCompleter.java[getColumnNames]:223) - Failed to retrieve the column name
org.apache.hive.service.cli.HiveSQLException:
MetaException(message:java.lang.ClassNotFoundException Class
com.cloudera.hive.serde.JSONSerDe not found)
at org.apache.hive.jdbc.Utils.verifySuccess(Utils.java:258)
at org.apache.hive.jdbc.Utils.verifySuccess(Utils.java:249)
at
org.apache.hive.jdbc.HiveDatabaseMetaData.getColumns(HiveDatabaseMetaData.java:220)
at
org.apache.zeppelin.jdbc.SqlCompleter.getColumnNames(SqlCompleter.java:205)
at
org.apache.zeppelin.jdbc.SqlCompleter.getDataModelMetadataCompletions(SqlCompleter.java:196)
at
org.apache.zeppelin.jdbc.JDBCInterpreter.createSqlCompleter(JDBCInterpreter.java:191)
at
org.apache.zeppelin.jdbc.JDBCInterpreter.open(JDBCInterpreter.java:177)
at
org.apache.zeppelin.interpreter.LazyOpenInterpreter.open(LazyOpenInterpreter.java:69)
at
org.apache.zeppelin.interpreter.LazyOpenInterpreter.interpret(LazyOpenInterpreter.java:93)
at
org.apache.zeppelin.interpreter.remote.RemoteInterpreterServer$InterpretJob.jobRun(RemoteInterpreterServer.java:341)
at org.apache.zeppelin.scheduler.Job.run(Job.java:176)
at
org.apache.zeppelin.scheduler.ParallelScheduler$JobRunner.run(ParallelScheduler.java:162)
at
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
at
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Caused by: org.apache.hive.service.cli.HiveSQLException:
MetaException(message:java.lang.ClassNotFoundException Class
com.cloudera.hive.serde.JSONSerDe not found)
... 13 more
INFO [2016-07-11 07:43:22,582] ({pool-2-thread-2}
JDBCInterpreter.java[getConnection]:219) -
org.apache.phoenix.jdbc.PhoenixDriver
INFO [2016-07-11 07:43:22,583] ({pool-2-thread-2}
JDBCInterpreter.java[getConnection]:219) -
INFO [2016-07-11 07:43:22,584] ({pool-2-thread-2}
JDBCInterpreter.java[getConnection]:219) - org.apache.tajo.jdbc.TajoDriver
INFO [2016-07-11 07:43:22,585] ({pool-2-thread-2}
JDBCInterpreter.java[getConnection]:219) -
INFO [2016-07-11 07:43:22,585] ({pool-2-thread-2}
JDBCInterpreter.java[getConnection]:219) - org.postgresql.Driver
INFO [2016-07-11 07:43:22,602] ({pool-2-thread-2}
JDBCInterpreter.java[interpret]:385) - Run SQL command '(hive)
SELECT t.calendar_month_desc, c.channel_desc, SUM(s.amount_sold) AS
TotalSales
FROM oraclehadoop.sales s, oraclehadoop.times t, oraclehadoop.channels c
WHERE s.time_id = t.time_id
AND s.channel_id = c.channel_id
GROUP BY t.calendar_month_desc, c.channel_desc'
INFO [2016-07-11 07:43:22,602] ({pool-2-thread-2}
JDBCInterpreter.java[interpret]:394) - PropertyKey: hive, SQL command:
'SELECT t.calendar_month_desc, c.channel_desc, SUM(s.amount_sold) AS
TotalSales
FROM oraclehadoop.sales s, oraclehadoop.times t, oraclehadoop.channels c
WHERE s.time_id = t.time_id
AND s.channel_id = c.channel_id
GROUP BY t.calendar_month_desc, c.channel_desc'
INFO [2016-07-11 07:43:22,602] ({pool-2-thread-2}
JDBCInterpreter.java[getConnection]:219) - org.apache.hive.jdbc.HiveDriver
INFO [2016-07-11 07:43:22,602] ({pool-2-thread-2}
Utils.java[parseURL]:312) - Supplied authorities: rhes564:10010
INFO [2016-07-11 07:43:22,603] ({pool-2-thread-2}
Utils.java[parseURL]:428) - Resolved authority: rhes564:10010
Any ideas why it is looking for Cloudera.hive.serde.JSONSerde?
Thanks
Dr Mich Talebzadeh
LinkedIn * https://www.linkedin.com/profile/view?id=AAEAAAAWh2gBxianrbJd6zP6AcPCCdOABUrV8Pw
<https://www.linkedin.com/profile/view?id=AAEAAAAWh2gBxianrbJd6zP6AcPCCdOABUrV8Pw>*
http://talebzadehmich.wordpress.com
*Disclaimer:* Use it at your own risk. Any and all responsibility for any
loss, damage or destruction of data or any other property which may arise
from relying on this email's technical content is explicitly disclaimed.
The author will in no case be liable for any monetary damages arising from
such loss, damage or destruction.
On 11 July 2016 at 05:56, Chanh Le <gi...@gmail.com> wrote:
> Hi Mich,
> You need to add 2 dependencies
>
>
>
> and it will be fine.
>
>
>
> Hope it helps!
> Chanh
>
> On Jul 11, 2016, at 11:48 AM, Mich Talebzadeh <mi...@gmail.com>
> wrote:
>
> Hi,
>
>
> I can use JDBC connection to connect from Squirrel client to Spark thrift
> server and this works fine.
>
> I have Zeppelin 0.6.o that works OK with the default spark interpreter.
>
> I configured JDBC interpreter to connect to Spark thrift server as follows
>
>
> I can use beeline to connect to STS no problem
>
> beeline -u jdbc:hive2://rhes564:10055 -n hduser -p
>
> Connecting to jdbc:hive2://rhes564:10055
> Connected to: Spark SQL (version 1.6.1)
> Driver: Hive JDBC (version 2.0.0)
> 16/07/11 05:39:19 [main]: WARN jdbc.HiveConnection: Request to set
> autoCommit to false; Hive does not support autoCommit=false.
> Transaction isolation: TRANSACTION_REPEATABLE_READ
> Beeline version 2.0.0 by Apache Hive
>
> Now the problem I have when I use Zeppelin to connect to STS with "show
> databases", I I get the following error in jdbc log
>
> INFO [2016-07-11 05:43:27,132] ({pool-2-thread-4}
> SchedulerFactory.java[jobFinished]:137) - Job
> remoteInterpretJob_1468212207128 finished by scheduler
> org.apache.zeppelin.jdbc.JDBCInterpreter121016079
> INFO [2016-07-11 05:43:54,413] ({pool-2-thread-6}
> SchedulerFactory.java[jobStarted]:131) - Job
> remoteInterpretJob_1468212234413 started by scheduler
> org.apache.zeppelin.jdbc.JDBCInterpreter121016079
> INFO [2016-07-11 05:43:54,413] ({pool-2-thread-6}
> JDBCInterpreter.java[interpret]:385) - Run SQL command 'show databases'
> INFO [2016-07-11 05:43:54,414] ({pool-2-thread-6}
> JDBCInterpreter.java[interpret]:394) - PropertyKey: default, SQL command:
> 'show databases'
> INFO [2016-07-11 05:43:54,418] ({pool-2-thread-6}
> JDBCInterpreter.java[getConnection]:219) -
> ERROR [2016-07-11 05:43:54,418] ({pool-2-thread-6}
> JDBCInterpreter.java[executeSql]:366) - Cannot run show databases
> java.lang.ClassNotFoundException:
> at java.lang.Class.forName0(Native Method)
> at java.lang.Class.forName(Class.java:264)
> at
> org.apache.zeppelin.jdbc.JDBCInterpreter.getConnection(JDBCInterpreter.java:220)
> at
> org.apache.zeppelin.jdbc.JDBCInterpreter.getStatement(JDBCInterpreter.java:233)
> at
> org.apache.zeppelin.jdbc.JDBCInterpreter.executeSql(JDBCInterpreter.java:292)
> at
> org.apache.zeppelin.jdbc.JDBCInterpreter.interpret(JDBCInterpreter.java:396)
> at
> org.apache.zeppelin.interpreter.LazyOpenInterpreter.interpret(LazyOpenInterpreter.java:94)
> at
> org.apache.zeppelin.interpreter.remote.RemoteInterpreterServer$InterpretJob.jobRun(RemoteInterpreterServer.java:341)
> at org.apache.zeppelin.scheduler.Job.run(Job.java:176)
> at
> org.apache.zeppelin.scheduler.ParallelScheduler$JobRunner.run(ParallelScheduler.java:162)
> at
> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
> at java.util.concurrent.FutureTask.run(FutureTask.java:266)
> at
> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
> at
> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
> at
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
> at java.lang.Thread.run(Thread.java:745)
>
>
> BTW I made both the following jars available under
> $ZEPPELIN_HOME/interpreter/jdbc
>
> lrwxrwxrwx 1 hduser hadoop 37 Jul 10 14:35 hive-jdbc-2.0.0.jar ->
> /usr/lib/hive/lib/hive-jdbc-2.0.0.jar
> lrwxrwxrwx 1 hduser hadoop 36 Jul 10 19:56 hive-cli-2.0.0.jar ->
> /usr/lib/hive/lib/hive-cli-2.0.0.jar
>
>
> Appreciate any feedback
>
>
> Dr Mich Talebzadeh
>
>
> LinkedIn * https://www.linkedin.com/profile/view?id=AAEAAAAWh2gBxianrbJd6zP6AcPCCdOABUrV8Pw
> <https://www.linkedin.com/profile/view?id=AAEAAAAWh2gBxianrbJd6zP6AcPCCdOABUrV8Pw>*
>
>
> http://talebzadehmich.wordpress.com
>
> *Disclaimer:* Use it at your own risk. Any and all responsibility for any
> loss, damage or destruction of data or any other property which may arise
> from relying on this email's technical content is explicitly disclaimed.
> The author will in no case be liable for any monetary damages arising from
> such loss, damage or destruction.
>
>
>
>
>
Re: Problem connecting Zeppelin 0.6 to Spark Thrift Server
Posted by Chanh Le <gi...@gmail.com>.
Hi Mich,
You need to add 2 dependencies
and it will be fine.
Hope it helps!
Chanh
> On Jul 11, 2016, at 11:48 AM, Mich Talebzadeh <mi...@gmail.com> wrote:
>
> Hi,
>
>
> I can use JDBC connection to connect from Squirrel client to Spark thrift server and this works fine.
>
> I have Zeppelin 0.6.o that works OK with the default spark interpreter.
>
> I configured JDBC interpreter to connect to Spark thrift server as follows
>
>
>
> I can use beeline to connect to STS no problem
>
> beeline -u jdbc:hive2://rhes564:10055 -n hduser -p
>
> Connecting to jdbc:hive2://rhes564:10055
> Connected to: Spark SQL (version 1.6.1)
> Driver: Hive JDBC (version 2.0.0)
> 16/07/11 05:39:19 [main]: WARN jdbc.HiveConnection: Request to set autoCommit to false; Hive does not support autoCommit=false.
> Transaction isolation: TRANSACTION_REPEATABLE_READ
> Beeline version 2.0.0 by Apache Hive
>
> Now the problem I have when I use Zeppelin to connect to STS with "show databases", I I get the following error in jdbc log
>
> INFO [2016-07-11 05:43:27,132] ({pool-2-thread-4} SchedulerFactory.java[jobFinished]:137) - Job remoteInterpretJob_1468212207128 finished by scheduler org.apache.zeppelin.jdbc.JDBCInterpreter121016079
> INFO [2016-07-11 05:43:54,413] ({pool-2-thread-6} SchedulerFactory.java[jobStarted]:131) - Job remoteInterpretJob_1468212234413 started by scheduler org.apache.zeppelin.jdbc.JDBCInterpreter121016079
> INFO [2016-07-11 05:43:54,413] ({pool-2-thread-6} JDBCInterpreter.java[interpret]:385) - Run SQL command 'show databases'
> INFO [2016-07-11 05:43:54,414] ({pool-2-thread-6} JDBCInterpreter.java[interpret]:394) - PropertyKey: default, SQL command: 'show databases'
> INFO [2016-07-11 05:43:54,418] ({pool-2-thread-6} JDBCInterpreter.java[getConnection]:219) -
> ERROR [2016-07-11 05:43:54,418] ({pool-2-thread-6} JDBCInterpreter.java[executeSql]:366) - Cannot run show databases
> java.lang.ClassNotFoundException:
> at java.lang.Class.forName0(Native Method)
> at java.lang.Class.forName(Class.java:264)
> at org.apache.zeppelin.jdbc.JDBCInterpreter.getConnection(JDBCInterpreter.java:220)
> at org.apache.zeppelin.jdbc.JDBCInterpreter.getStatement(JDBCInterpreter.java:233)
> at org.apache.zeppelin.jdbc.JDBCInterpreter.executeSql(JDBCInterpreter.java:292)
> at org.apache.zeppelin.jdbc.JDBCInterpreter.interpret(JDBCInterpreter.java:396)
> at org.apache.zeppelin.interpreter.LazyOpenInterpreter.interpret(LazyOpenInterpreter.java:94)
> at org.apache.zeppelin.interpreter.remote.RemoteInterpreterServer$InterpretJob.jobRun(RemoteInterpreterServer.java:341)
> at org.apache.zeppelin.scheduler.Job.run(Job.java:176)
> at org.apache.zeppelin.scheduler.ParallelScheduler$JobRunner.run(ParallelScheduler.java:162)
> at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
> at java.util.concurrent.FutureTask.run(FutureTask.java:266)
> at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
> at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
> at java.lang.Thread.run(Thread.java:745)
>
>
> BTW I made both the following jars available under $ZEPPELIN_HOME/interpreter/jdbc
>
> lrwxrwxrwx 1 hduser hadoop 37 Jul 10 14:35 hive-jdbc-2.0.0.jar -> /usr/lib/hive/lib/hive-jdbc-2.0.0.jar
> lrwxrwxrwx 1 hduser hadoop 36 Jul 10 19:56 hive-cli-2.0.0.jar -> /usr/lib/hive/lib/hive-cli-2.0.0.jar
>
>
> Appreciate any feedback
>
>
> Dr Mich Talebzadeh
>
> LinkedIn https://www.linkedin.com/profile/view?id=AAEAAAAWh2gBxianrbJd6zP6AcPCCdOABUrV8Pw <https://www.linkedin.com/profile/view?id=AAEAAAAWh2gBxianrbJd6zP6AcPCCdOABUrV8Pw>
>
> http://talebzadehmich.wordpress.com <http://talebzadehmich.wordpress.com/>
>
> Disclaimer: Use it at your own risk. Any and all responsibility for any loss, damage or destruction of data or any other property which may arise from relying on this email's technical content is explicitly disclaimed. The author will in no case be liable for any monetary damages arising from such loss, damage or destruction.
>