From c3cd0349d3150adfb949e7d3722110ed555bd1dc Mon Sep 17 00:00:00 2001 From: ShivSood Date: Tue, 25 Jun 2019 23:44:19 -0700 Subject: [PATCH] Updated to MSSQL Spark connector sample, new samples for accessing spark via restful livy, configuring a spark session and installing 3rd party pacakgee --- .../sql-big-data-cluster/spark/README.md | 18 +- .../configure_spark_session.ipynb | 94 +++++++++ .../config-install/installpackage_Spark.ipynb | 91 +++++++++ .../MSSQL_Spark_Connector2.JPG | Bin 0 -> 226709 bytes .../mssql_spark_connector.ipynb | 150 ++++++++++++++ .../spark_to_sql_jdbc.ipynb | 30 +-- .../accessing_spark_via_livy.ipynb | 188 ++++++++++++++++++ .../restful-api-access/spark_from_livy.JPG | Bin 0 -> 163980 bytes .../spark_to_sql/mssql_spark_connector.ipynb | 81 -------- 9 files changed, 549 insertions(+), 103 deletions(-) create mode 100644 samples/features/sql-big-data-cluster/spark/config-install/configure_spark_session.ipynb create mode 100644 samples/features/sql-big-data-cluster/spark/config-install/installpackage_Spark.ipynb create mode 100644 samples/features/sql-big-data-cluster/spark/data-virtualization/MSSQL_Spark_Connector2.JPG create mode 100644 samples/features/sql-big-data-cluster/spark/data-virtualization/mssql_spark_connector.ipynb create mode 100644 samples/features/sql-big-data-cluster/spark/restful-api-access/accessing_spark_via_livy.ipynb create mode 100644 samples/features/sql-big-data-cluster/spark/restful-api-access/spark_from_livy.JPG delete mode 100644 samples/features/sql-big-data-cluster/spark/spark_to_sql/mssql_spark_connector.ipynb diff --git a/samples/features/sql-big-data-cluster/spark/README.md b/samples/features/sql-big-data-cluster/spark/README.md index 199ab595a4..6dc2829f6e 100644 --- a/samples/features/sql-big-data-cluster/spark/README.md +++ b/samples/features/sql-big-data-cluster/spark/README.md @@ -2,7 +2,7 @@ SQL Server Big Data cluster bundles Spark and HDFS together with SQL server. Azure Data Studio IDE provides built in notebooks that enables data scientists and data engineers to run Spark notebooks and job in Python, R, or Scala code against the Big Data Cluster. This folder contains spark sample notebook on using Spark in SQL server Big data cluster -## Folder contents +## Contents [PySpark Hello World](dataloading/hello_PySpark.ipynb) @@ -14,14 +14,18 @@ SQL Server Big Data cluster bundles Spark and HDFS together with SQL server. Azu [Data Transfer - Spark to SQL using Spark JDBC connector](data-virtualization/spark_to_sql_jdbc.ipynb/) -[Data Transfer - Spark to SQL using MSSQL Spark connector](spark_to_sql/mssql_spark_connector.ipynb/) +[Data Transfer - Spark to SQL using MSSQL Spark connector](data-virtualization/mssql_spark_connector.ipynb/) -## Instructions on how to run in Azure Data Studio +[Configure - Configure a spark session using a notebook](config-install/configure_spark_session.ipynb/) + +[Install - Install 3rd party packages](config-install/installpackage_Spark.ipynb/) -[data-loading/transform-csv-files.ipynb](dataloading/transform-csv-files.ipynb/) +[Restful-Access - Access Spark in BDC via restful Livy APIs](restful-api-accessn/accessing_spark_via_livy.ipynb/) + +## Instructions on how to run in Azure Data Studio -2. From Azure Data Studio Connect to the SQL Server Master instance in a big data cluster. +1. From Azure Data Studio Connect to the SQL Server Master instance in a big data cluster. -3. Right-click on the server name, select **Manage**, switch to **SQL Server Big Data Cluster** tab, and open the notebook in Azure Data Studio. Wait for the “Kernel” and the target context (“Attach to”) to be populated. If required set the relevant “Kernel” ( e.g **PySpark3** ) and **Attach to** needs to be the IP address of your big data cluster endpoint. +2. Right-click on the server name, select **Manage**, switch to **SQL Server Big Data Cluster** tab, and open the notebook in Azure Data Studio. Wait for the “Kernel” and the target context (“Attach to”) to be populated. If required set the relevant “Kernel” ( e.g **PySpark3** ) and **Attach to** needs to be the IP address of your big data cluster endpoint. -4. Run each cell in the Notebook sequentially. +3. Run each cell in the Notebook sequentially. diff --git a/samples/features/sql-big-data-cluster/spark/config-install/configure_spark_session.ipynb b/samples/features/sql-big-data-cluster/spark/config-install/configure_spark_session.ipynb new file mode 100644 index 0000000000..55dc778d4e --- /dev/null +++ b/samples/features/sql-big-data-cluster/spark/config-install/configure_spark_session.ipynb @@ -0,0 +1,94 @@ +{ + "metadata": { + "kernelspec": { + "name": "pyspark3kernel", + "display_name": "PySpark3" + }, + "language_info": { + "name": "pyspark3", + "mimetype": "text/x-python", + "codemirror_mode": { + "name": "python", + "version": 3 + }, + "pygments_lexer": "python3" + } + }, + "nbformat_minor": 2, + "nbformat": 4, + "cells": [ + { + "cell_type": "markdown", + "source": "# Configuring a Spark session using configure-f\r\nRefer to [Spark Configurations](https://spark.apache.org/docs/latest/configuration.html) for specific parameters", + "metadata": {} + }, + { + "cell_type": "code", + "source": "%%configure -f\r\n{\"conf\": {\r\n \"spark.executor.memory\": \"4g\",\r\n \"spark.driver.memory\": \"4g\",\r\n \"spark.executor.cores\": 2,\r\n \"spark.driver.cores\": 1,\r\n \"spark.executor.instances\": 4\r\n }\r\n}", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": "", + "text/html": "Current session configs: {'conf': {'spark.executor.memory': '4g', 'spark.driver.memory': '4g', 'spark.executor.cores': 2, 'spark.driver.cores': 1, 'spark.executor.instances': 4}, 'kind': 'pyspark3'}
" + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/plain": "", + "text/html": "\n
IDYARN Application IDKindStateSpark UIDriver logCurrent session?
93application_1558765999724_0190pysparkidleLinkLink
" + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "execution_count": 3 + }, + { + "cell_type": "code", + "source": "datafile = \"/spark_data/AdultCensusIncome.csv\"\r\ndf = spark.read.format('csv').options(header='true', inferSchema='true').load(datafile)\r\n\r\ndf.show(5)", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "text": "Starting Spark application\n", + "output_type": "stream" + }, + { + "data": { + "text/plain": "", + "text/html": "\n
IDYARN Application IDKindStateSpark UIDriver logCurrent session?
96application_1558765999724_0193pyspark3idleLinkLink
" + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "text": "SparkSession available as 'spark'.\n", + "output_type": "stream" + }, + { + "name": "stdout", + "text": "+---+-----------------+--------+----------+--------------+-------------------+------------------+--------------+------+-------+-------------+-------------+---------------+---------------+-------+\n|age| workclass| fnlwgt| education| education-num| marital-status| occupation| relationship| race| sex| capital-gain| capital-loss| hours-per-week| native-country| income|\n+---+-----------------+--------+----------+--------------+-------------------+------------------+--------------+------+-------+-------------+-------------+---------------+---------------+-------+\n| 39| State-gov| 77516.0| Bachelors| 13.0| Never-married| Adm-clerical| Not-in-family| White| Male| 2174.0| 0.0| 40.0| United-States| <=50K|\n| 50| Self-emp-not-inc| 83311.0| Bachelors| 13.0| Married-civ-spouse| Exec-managerial| Husband| White| Male| 0.0| 0.0| 13.0| United-States| <=50K|\n| 38| Private|215646.0| HS-grad| 9.0| Divorced| Handlers-cleaners| Not-in-family| White| Male| 0.0| 0.0| 40.0| United-States| <=50K|\n| 53| Private|234721.0| 11th| 7.0| Married-civ-spouse| Handlers-cleaners| Husband| Black| Male| 0.0| 0.0| 40.0| United-States| <=50K|\n| 28| Private|338409.0| Bachelors| 13.0| Married-civ-spouse| Prof-specialty| Wife| Black| Female| 0.0| 0.0| 40.0| Cuba| <=50K|\n+---+-----------------+--------+----------+--------------+-------------------+------------------+--------------+------+-------+-------------+-------------+---------------+---------------+-------+\nonly showing top 5 rows", + "output_type": "stream" + } + ], + "execution_count": 4 + }, + { + "cell_type": "code", + "source": "from pyspark import SparkConf\r\nfrom pyspark.sql import SparkSession\r\n\r\ndef isConfiguredItem(cfg_items):\r\n if(cfg_items == 'spark.executor.instances' or cfg_items == 'spark.executor.memory' or \\\r\n cfg_items == 'spark.executor.cores' or cfg_items == 'spark.driver.memory' or \\\r\n cfg_items == 'spark.driver.cores'):\r\n return True\r\n\r\nspark = SparkSession.builder.getOrCreate()\r\nconf = SparkConf().getAll()\r\n\r\nfor cfg_items in conf:\r\n if(isConfiguredItem(cfg_items[0])):\r\n print(cfg_items)\r\n\r\n", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "text": "('spark.executor.instances', '4')\n('spark.driver.memory', '4g')\n('spark.driver.cores', '1')\n('spark.executor.memory', '4g')\n('spark.executor.cores', '2')", + "output_type": "stream" + } + ], + "execution_count": 21 + } + ] +} \ No newline at end of file diff --git a/samples/features/sql-big-data-cluster/spark/config-install/installpackage_Spark.ipynb b/samples/features/sql-big-data-cluster/spark/config-install/installpackage_Spark.ipynb new file mode 100644 index 0000000000..2f1d39ac8b --- /dev/null +++ b/samples/features/sql-big-data-cluster/spark/config-install/installpackage_Spark.ipynb @@ -0,0 +1,91 @@ +{ + "metadata": { + "kernelspec": { + "name": "sparkkernel", + "display_name": "Spark | Scala" + }, + "language_info": { + "name": "scala", + "mimetype": "text/x-scala", + "codemirror_mode": "text/x-scala", + "pygments_lexer": "scala" + } + }, + "nbformat_minor": 2, + "nbformat": 4, + "cells": [ + { + "cell_type": "markdown", + "source": "# Packaging in Spark\r\n", + "metadata": {} + }, + { + "cell_type": "markdown", + "source": "## Use Case 1: I can have key packages in boxed\r\n - All pacakges that come with spark and hadoop distribution\r\n - Python3.5 and Python 2.7\r\n - Pandas, Sklearn and several other supporting ml packages\r\n - R and supporting pacakges as part of MRO\r\n - sparklyr\r\n\r\n \r\n ", + "metadata": {} + }, + { + "cell_type": "markdown", + "source": "## Use Case 2: I can install pacakges from maven repo to my spark cluster\r\nMaven central is a source of lot of packages. A lot of spark ecosystem pacakges are availble there. These pacakages can be installed to your spark cluster using notebook cell configuration at the start of your spark session.\r\n", + "metadata": {} + }, + { + "cell_type": "code", + "source": "%%configure -f\n{\"conf\": {\"spark.jars.packages\": \"com.microsoft.azure:azure-eventhubs-spark_2.11:2.3.1\"}}", + "metadata": { + "language": "scala" + }, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": "", + "text/html": "Current session configs: {'conf': {'spark.jars.packages': 'com.microsoft.azure:azure-eventhubs-spark_2.11:2.3.50'}, 'kind': 'spark'}
" + }, + "metadata": {} + }, + { + "output_type": "display_data", + "data": { + "text/plain": "", + "text/html": "No active sessions." + }, + "metadata": {} + } + ], + "execution_count": 3 + }, + { + "cell_type": "code", + "source": "import com.microsoft.azure.eventhubs._", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": "import com.microsoft.azure.eventhubs._\n" + } + ], + "execution_count": 5 + }, + { + "cell_type": "markdown", + "source": "## Use Case 3: I have a local jar that i want to run in the spark cluster\r\nAs a user you may build your own customer pacakges that want to run as part of your spark jobs. These pacakges can be uploaded as HDFS and using a notebook configuration spark can consume these pacakges in a jar.\r\n\r\n\r\n", + "metadata": {} + }, + { + "cell_type": "code", + "source": "%%configure -f\r\n {\"conf\": {\"spark.jars\": \"/jar/mycodeJar.jar\"}}", + "metadata": {}, + "outputs": [], + "execution_count": 0 + }, + { + "cell_type": "code", + "source": "import com.my.mycodeJar._", + "metadata": {}, + "outputs": [], + "execution_count": 0 + } + ] +} \ No newline at end of file diff --git a/samples/features/sql-big-data-cluster/spark/data-virtualization/MSSQL_Spark_Connector2.JPG b/samples/features/sql-big-data-cluster/spark/data-virtualization/MSSQL_Spark_Connector2.JPG new file mode 100644 index 0000000000000000000000000000000000000000..25d277b47fae1038d0974be8ff7e172feeee3bfe GIT binary patch literal 226709 zcmeFZ2Ut^Gw=TNqND*lQQi6bjA|0eBAksv-NK+yL(xge3Kq%6ifPkU`iV8@HAVm-o zIx5mTNC)YVPy;04F2Dc#>)!jEf8Tqa+m7LxW@cq(tu@~@=N#{N$Cw_E98UwMu4(CN z0c2!kKm+&(9M3RQY6dvp0|0$};35D3v;ZZUGC&U2Siuk1qMZRsuucZnZCc#8-d>l{6^q60>2UXjllno2$(uK`|%q+u=RGb zb@$;n_3*FexdOD z^&5fT2>eFiHv+#A_}>=+X-O$XCCST5Qd0aAD{$D4w zz3buYqblI*>uj%d&-R|&U3+^uvAec1_F_^}_O@cS_A*jp_A)Z|@^VrN()Xn93jBF_ zd%M3~-P8BM{Xed4Zzth!-@(nn-Nze5LrOwG;x9M-zv`MGM1Q;Je+oa?N3e~O#sddi zABU@8f&O~fVv?7^&fNIx01%g!mRFJZmv$-=zrgs18~tB<=l>R3P!)SSCA(ku?(yI+ zmp66r`oH$H?>j^PBgy_tU%{{bQUNalj=&QqPN+!yFiHp+07ez1rItdvKEiK&%IyQQGwu?NRJQx4luj2-QnU?b830ev=0f3yDjDnf$ zxCMZKfl4YcwD~K#`R9v_oPv^ynuhiS9X;5f@)ST$MnOSNNkK(L3C1o%3YRMP*l>m zs;Q-|qkGNthS^PX3rj0Idxv|DPR=ggKE8hb0f7%A9z{k)$Hc~^raei|$b9-N>vi6n zx9{=`3g4H1tf;K2{!~-j)ZEhA*8b(|x4!;?!J*-i(XpA?x%q{ki%ZKZxUKD--MxMM z!QrodkpUEc>DJ$R_AmWn2Kz-$Nl8IT^Q&KEzFAWM|Ides%4Sp8b0r3;#dWv%huh@BJDB7%0fVheyE-z<@)o zIFVfP-{m(3|BsA;D_06HsZkWl0Rxvh);K&*lQy$t2utLxY~-Be`TRQqae&C{KTClS zx+1cw)0@FXIMXHxfnqd?71Ly_({$^=)+}Ulv#qc^yjk?-tQ+k_f@7 z3~%F8hJ1Gmj&wTstdeOqy0F&ey;>JyrahD2HlaKVk8$^T&MUC;b$wm`YpOGQ7}=m# z80i>TR^xlA$!0|MpBBn#d+f!UflCqV@}AT?+vc#Y&`ZWT#ig%OA}%bccR4!&uj531 zm;ZNQKrwR+KmxW~_mC_IeK+UXdUyH&U)O@!I58~;oq_8O7ehw?vQVnqcw3x*i;_f( zzBH0KAl?++_bzR1-+0pI>qP+=H?}3LV&>y8khJ@ipnVLa=Feh|7;TVC`^7KK_1!M( z-O;_^?aJPAU)!jodwx86Mh)`1!u%zI5tl@MBB zwqy0@%=%F0HXDzm4v;V%F0D#&JmJ)veE5}#788F;gksTfjAJ&V6b-#i-*niykwcx% z*AZP_6Hqt$oGR?1)|JG(>}cP>;N%wA8ED>p)GRSD{jHJuz)${!$3S`u|6Ok_ZEMCR*2^G-_!o_h$1Kq$@>oED?GT2@8} z-7ymJ-hgkiZs?X|nE75@;pEFr=%HCO$SHPtc)jVisPX6W6a$TMgWeQ;A^Wc3+UT6e zsesQqLo>MZ`QmwdG+}oF!#9l@w=*cj_O*qwb|g*_#IfeFGY*4wig&xFwkByGNk^>K zOB&9#Iv}L+W;D%WdN!mkOi&5TR8p4t`=?ai?0aT0Gtpg=p31m39h%%e8A_AyR|>d< zvY%AWOjTf7=us!}?!(OwueWiR*xvf_CI6?jSEKQA-3!NF3;$e(saQ-!v6b16G3`*h zs4XXwrJQ1jQ~KwaVf-;LsS?E88F2bDj;0lT{#lMSj*qu%G~Klsr^<7dSZ|cf{QUqgCOWUe)Pq*Q&1lY$QK9nVVs*`b9YM zP=q`b%FbMKrO~2bMQz%oS*2==raFDrt2ZSs=ezmR;p^9tnsm8$07)wQ6%s3!gyBA4 z{n`Rf&G~)r%Nq1iLUL0m)Edu@<7oYexZbjaaKmlJzCl*F_K!47i0#a}^)OvWeb+u}89w`ZsWvlKu0Xc_%#dEkc;+~d zleF%J?i!7WAvyXTmT7HphR8A@UUyfky5Q7_h;wc;&`<`B!)m?(vaR6O&er)!hk>o` zv!n|=A0aLMWC3r!{7A}QQb+ZwDr@%b#IW#+>Q|JbIBON__ z5+rXrr8n|D6$pj0U^iP~XYf{6m9%3}SM`no@$IjRn#uafk6{dF4!LLY*CFo$vSxWj z+n6=qxR{(ux%KK8(0+Qz5}1&-qO-qlMUo@FB=F9m=v7_5Gh}yy@}Z&lHGx_P&%CI*Hrya z{o)JmIut}b*5RB&3lDc77m=|3lQflF>D z5m9+$aSVK!$VCpv9|KF@fIi|g6=T%uf8AYExLkS`&2`96Z6igN}A-2 zJ6Yq6R`zWQZ(?q(P%(+0I1q$RiO(u81dEVEVx}q%sKr!?9$r2;D*Cb15BrrQl>p( zI%Z*vxAoZb#&sz(SYIB|+fhME6_!R-cGqok{u#@E#Pwh5kjo*%5M&cvubcSF0#cqs zcv5dpYGeYR$m^10U~Fy^ueTg{3{;3x?3sebE%W^`Fmm=7*zvhRwwwMh=b~aW=f)|| zibXej&|QA(^E&8jY}~hDh3z-(NKIbd!;^1}sE&a%0sGA)vc8b1S<&88?q{nL+_UVK z;-^+TX FL~?=FAOSqWxWK4~1=*t<%v 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

xO; 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 VgoSrfx6bCNF@)8tb4?XZL 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\r\n\r\nMore details\r\n-----------\r\n\r\nMSSQL Spark connector, uses [SQL Server Bulk copy APIS](https://docs.microsoft.com/en-us/sql/connect/jdbc/using-bulk-copy-with-the-jdbc-driver?view=sql-server-2017#sqlserverbulkcopyoptions) to implement an efficient write to SQL Server. The connector is based on Spark Data source APIs and provides a familiar JDBC interface for access\r\n\r\nThe Sample\r\n---------\r\n\r\nThe following sample shows MSSQL JDBC Connector for read/write QLServer master instance and SQL Server data pool in Big Data Clusters. The sample is divided into 2 parts. The first part shows read/write to SQL Master instance and Part 2 shows read/write to Data Pools in Big Data Cluster. \r\n\r\nIn the sample we' ll \r\n- Read a file from HDFS and do some basic processing \r\n- In Part 1, we'll write the dataframe to SQL server table and then read the table to a dataframe .\r\n- In Part 2, we'll write the dataframe to SQL Server data pool external table and then read it back to a spark data frame. \r\n\r\nPreReq: \r\n- The sample uses a SQL database named \"MyTestDatabase\". Create this before you run this sample. The database can be created as follows\r\n ``` sql\r\n Create DATABASE MyTestDatabase\r\n GO \r\n ``` \r\n- Download [AdultCensusIncome.csv]( https://amldockerdatasets.azureedge.net/AdultCensusIncome.csv ) to your local machine. Create a hdfs folder named spark_data and upload the file there. \r\n- [For CTP2.5] Configure the spark session to use the MSSQL Connector jar. The jar can be found at /jar/spark-mssql-connector-assembly-1.0.0.jar post deployment of Big Data Cluster.\r\n\r\n``` sh\r\n %%configure -f\r\n {\"conf\": {\"spark.jars\": \"/jar/spark-mssql-connector-assembly-1.0.0.jar\"}}\r\n```\r\n\r\n\r\n ", + "metadata": {} + }, + { + "cell_type": "markdown", + "source": "# Read CSV into a data frame\r\nIn this step we read the CSV into a data frame and do some basic cleanup steps. \r\n\r\n\r\n", + "metadata": {} + }, + { + "cell_type": "code", + "source": "#spark = SparkSession.builder.getOrCreate()\r\nsc.setLogLevel(\"INFO\")\r\n\r\n#Read a file and then write it to the SQL table\r\ndatafile = \"/spark_data/AdultCensusIncome.csv\"\r\ndf = spark.read.format('csv').options(header='true', inferSchema='true', ignoreLeadingWhiteSpace='true', ignoreTrailingWhiteSpace='true').load(datafile)\r\ndf.show(5)\r\n\r\n\r\n#Process this data. Very simple data cleanup steps. Replacing \"-\" with \"_\" in column names\r\ncolumns_new = [col.replace(\"-\", \"_\") for col in df.columns]\r\ndf = df.toDF(*columns_new)\r\ndf.show(5)\r\n", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": "Starting Spark application\n" + }, + { + "output_type": "display_data", + "data": { + "text/plain": "", + "text/html": "\n
IDYARN Application IDKindStateSpark UIDriver logCurrent session?
0application_1561072870175_0001pyspark3idleLinkLink
" + }, + "metadata": {} + }, + { + "output_type": "stream", + "name": "stdout", + "text": "SparkSession available as 'spark'.\n" + }, + { + "output_type": "stream", + "name": "stdout", + "text": "+---+----------------+------+---------+-------------+------------------+-----------------+-------------+-----+------+------------+------------+--------------+--------------+------+\n|age| workclass|fnlwgt|education|education-num| marital-status| occupation| relationship| race| sex|capital-gain|capital-loss|hours-per-week|native-country|income|\n+---+----------------+------+---------+-------------+------------------+-----------------+-------------+-----+------+------------+------------+--------------+--------------+------+\n| 39| State-gov| 77516|Bachelors| 13| Never-married| Adm-clerical|Not-in-family|White| Male| 2174| 0| 40| United-States| <=50K|\n| 50|Self-emp-not-inc| 83311|Bachelors| 13|Married-civ-spouse| Exec-managerial| Husband|White| Male| 0| 0| 13| United-States| <=50K|\n| 38| Private|215646| HS-grad| 9| Divorced|Handlers-cleaners|Not-in-family|White| Male| 0| 0| 40| United-States| <=50K|\n| 53| Private|234721| 11th| 7|Married-civ-spouse|Handlers-cleaners| Husband|Black| Male| 0| 0| 40| United-States| <=50K|\n| 28| Private|338409|Bachelors| 13|Married-civ-spouse| Prof-specialty| Wife|Black|Female| 0| 0| 40| Cuba| <=50K|\n+---+----------------+------+---------+-------------+------------------+-----------------+-------------+-----+------+------------+------------+--------------+--------------+------+\nonly showing top 5 rows\n\n+---+----------------+------+---------+-------------+------------------+-----------------+-------------+-----+------+------------+------------+--------------+--------------+------+\n|age| workclass|fnlwgt|education|education_num| marital_status| occupation| relationship| race| sex|capital_gain|capital_loss|hours_per_week|native_country|income|\n+---+----------------+------+---------+-------------+------------------+-----------------+-------------+-----+------+------------+------------+--------------+--------------+------+\n| 39| State-gov| 77516|Bachelors| 13| Never-married| Adm-clerical|Not-in-family|White| Male| 2174| 0| 40| United-States| <=50K|\n| 50|Self-emp-not-inc| 83311|Bachelors| 13|Married-civ-spouse| Exec-managerial| Husband|White| Male| 0| 0| 13| United-States| <=50K|\n| 38| Private|215646| HS-grad| 9| Divorced|Handlers-cleaners|Not-in-family|White| Male| 0| 0| 40| United-States| <=50K|\n| 53| Private|234721| 11th| 7|Married-civ-spouse|Handlers-cleaners| Husband|Black| Male| 0| 0| 40| United-States| <=50K|\n| 28| Private|338409|Bachelors| 13|Married-civ-spouse| Prof-specialty| Wife|Black|Female| 0| 0| 40| Cuba| <=50K|\n+---+----------------+------+---------+-------------+------------------+-----------------+-------------+-----+------+------------+------------+--------------+--------------+------+\nonly showing top 5 rows" + } + ], + "execution_count": 3 + }, + { + "cell_type": "markdown", + "source": "# (PART 1) Write and READ to SQL Table\r\n- Write dataframe to SQL table to SQL Master\r\n- Read SQL Table to Spark dataframe", + "metadata": {} + }, + { + "cell_type": "code", + "source": "#Write from Spark to SQL table using MSSQL Spark Connector\r\nprint(\"Use MSSQL connector to write to master SQL instance \")\r\n\r\nservername = \"jdbc:sqlserver://master-0.master-svc\"\r\ndbname = \"MyTestDatabase\"\r\nurl = servername + \";\" + \"databaseName=\" + dbname + \";\"\r\n\r\ndbtable = \"AdultCensus_test\"\r\nuser = \"*****\"\r\npassword = \"*****\" # Please specify password here\r\n\r\n#com.microsoft.sqlserver.jdbc.spark\r\n\r\ntry:\r\n df.write \\\r\n .format(\"com.microsoft.sqlserver.jdbc.spark\") \\\r\n .mode(\"overwrite\") \\\r\n .option(\"url\", url) \\\r\n .option(\"dbtable\", dbtable) \\\r\n .option(\"user\", user) \\\r\n .option(\"password\", password) \\\r\n .save()\r\nexcept ValueError as error :\r\n print(\"MSSQL Connector write failed\", error)\r\n\r\nprint(\"MSSQL Connector write(overwrite) succeeded \")\r\n\r\n\r\n", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": "Use MSSQL connector to write to master SQL instance \nMSSQL Connector write(overwrite) succeeded" + } + ], + "execution_count": 5 + }, + { + "cell_type": "code", + "source": "#Use mode as append\r\ntry:\r\n df.write \\\r\n .format(\"com.microsoft.sqlserver.jdbc.spark\") \\\r\n .mode(\"append\") \\\r\n .option(\"url\", url) \\\r\n .option(\"dbtable\", dbtable) \\\r\n .option(\"user\", user) \\\r\n .option(\"password\", password) \\\r\n .save()\r\nexcept ValueError as error :\r\n print(\"MSSQL Connector write failed\", error)\r\n\r\nprint(\"MSSQL Connector write(append) succeeded \")", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": "MSSQL Connector write(append) succeeded" + } + ], + "execution_count": 6 + }, + { + "cell_type": "code", + "source": "#Read from SQL table using MSSQ Connector\r\nprint(\"read data from SQL server table \")\r\njdbcDF = spark.read \\\r\n .format(\"com.microsoft.sqlserver.jdbc.spark\") \\\r\n .option(\"url\", url) \\\r\n .option(\"dbtable\", dbtable) \\\r\n .option(\"user\", user) \\\r\n .option(\"password\", password).load()\r\n\r\njdbcDF.show(5)", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": "read data from SQL server table \n+---+----------------+------+---------+-------------+------------------+-----------------+-------------+-----+------+------------+------------+--------------+--------------+------+\n|age| workclass|fnlwgt|education|education_num| marital_status| occupation| relationship| race| sex|capital_gain|capital_loss|hours_per_week|native_country|income|\n+---+----------------+------+---------+-------------+------------------+-----------------+-------------+-----+------+------------+------------+--------------+--------------+------+\n| 39| State-gov| 77516|Bachelors| 13| Never-married| Adm-clerical|Not-in-family|White| Male| 2174| 0| 40| United-States| <=50K|\n| 50|Self-emp-not-inc| 83311|Bachelors| 13|Married-civ-spouse| Exec-managerial| Husband|White| Male| 0| 0| 13| United-States| <=50K|\n| 38| Private|215646| HS-grad| 9| Divorced|Handlers-cleaners|Not-in-family|White| Male| 0| 0| 40| United-States| <=50K|\n| 53| Private|234721| 11th| 7|Married-civ-spouse|Handlers-cleaners| Husband|Black| Male| 0| 0| 40| United-States| <=50K|\n| 28| Private|338409|Bachelors| 13|Married-civ-spouse| Prof-specialty| Wife|Black|Female| 0| 0| 40| Cuba| <=50K|\n+---+----------------+------+---------+-------------+------------------+-----------------+-------------+-----+------+------------+------------+--------------+--------------+------+\nonly showing top 5 rows" + } + ], + "execution_count": 7 + }, + { + "cell_type": "markdown", + "source": "# (PART 2) Write and READ to Data Pool external Tables in Big Data Cluster\r\n- Write dataframe to SQL external table in Data Pools in Big Data Cluste\r\n- Read SQL external Table to Spark dataframe", + "metadata": {} + }, + { + "cell_type": "code", + "source": "#Write from Spark to SQL table using MSSQL Spark Connector\r\nprint(\"Use MSSQL connector to write to master SQL instance \")\r\n\r\ndatapool_table = \"AdultCensus_DataPoolTable\"\r\ndatasource_name = \"test_data_src\"\r\n\r\n\r\ntry:\r\n df.write \\\r\n .format(\"com.microsoft.sqlserver.jdbc.spark\") \\\r\n .mode(\"overwrite\") \\\r\n .option(\"url\", url) \\\r\n .option(\"dbtable\", datapool_table) \\\r\n .option(\"user\", user) \\\r\n .option(\"password\", password) \\\r\n .option(\"dataPoolDataSource\",datasource_name)\\\r\n .save()\r\nexcept ValueError as error :\r\n print(\"MSSQL Connector write failed\", error)\r\n\r\nprint(\"MSSQL Connector write(overwrite) to data pool external table succeeded\")\r\n", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": "Use MSSQL connector to write to master SQL instance \nMSSQL Connector write(overwrite) to data pool external table succeeded" + } + ], + "execution_count": 8 + }, + { + "cell_type": "code", + "source": "try:\r\n df.write \\\r\n .format(\"com.microsoft.sqlserver.jdbc.spark\") \\\r\n .mode(\"append\") \\\r\n .option(\"url\", url) \\\r\n .option(\"dbtable\", datapool_table) \\\r\n .option(\"user\", user) \\\r\n .option(\"password\", password) \\\r\n .option(\"dataPoolDataSource\",datasource_name)\\\r\n .save()\r\nexcept ValueError as error :\r\n print(\"MSSQL Connector write failed\", error)\r\n\r\nprint(\"MSSQL Connector write(append) to data pool external table succeeded\")", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": "MSSQL Connector write(append) to data pool external table succeeded" + } + ], + "execution_count": 9 + }, + { + "cell_type": "code", + "source": "#Read from SQL table using MSSQ Connector\r\nprint(\"read data from SQL server table \")\r\njdbcDF = spark.read \\\r\n .format(\"com.microsoft.sqlserver.jdbc.spark\") \\\r\n .option(\"url\", url) \\\r\n .option(\"dbtable\", datapool_table) \\\r\n .option(\"user\", user) \\\r\n .option(\"password\", password)\\\r\n .load()\r\n\r\njdbcDF.show(5)\r\n\r\nprint(\"MSSQL Connector read from data pool external table succeeded\")", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": "read data from SQL server table \n+---+----------------+------+----------+-------------+------------------+---------------+-------------+-----+------+------------+------------+--------------+--------------+------+\n|age| workclass|fnlwgt| education|education_num| marital_status| occupation| relationship| race| sex|capital_gain|capital_loss|hours_per_week|native_country|income|\n+---+----------------+------+----------+-------------+------------------+---------------+-------------+-----+------+------------+------------+--------------+--------------+------+\n| 46|Self-emp-not-inc|277946|Assoc-acdm| 12| Separated| Craft-repair|Not-in-family|White| Male| 0| 0| 40| United-States| <=50K|\n| 38| Private| 91039| Bachelors| 13|Married-civ-spouse| Sales| Husband|White| Male| 15024| 0| 60| United-States| >50K|\n| 18| Private|156764| 11th| 7| Never-married| Other-service| Own-child|White| Male| 0| 0| 40| United-States| <=50K|\n| 34| Private|136721| HS-grad| 9| Divorced|Exec-managerial|Not-in-family|White|Female| 0| 0| 40| United-States| <=50K|\n| 39| State-gov| 77516| Bachelors| 13| Never-married| Adm-clerical|Not-in-family|White| Male| 2174| 0| 40| United-States| <=50K|\n+---+----------------+------+----------+-------------+------------------+---------------+-------------+-----+------+------------+------------+--------------+--------------+------+\nonly showing top 5 rows\n\nMSSQL Connector read from data pool external table succeeded" + } + ], + "execution_count": 10 + } + ] +} \ No newline at end of file diff --git a/samples/features/sql-big-data-cluster/spark/data-virtualization/spark_to_sql_jdbc.ipynb b/samples/features/sql-big-data-cluster/spark/data-virtualization/spark_to_sql_jdbc.ipynb index d574d79298..e07633494d 100644 --- a/samples/features/sql-big-data-cluster/spark/data-virtualization/spark_to_sql_jdbc.ipynb +++ b/samples/features/sql-big-data-cluster/spark/data-virtualization/spark_to_sql_jdbc.ipynb @@ -28,27 +28,27 @@ "metadata": {}, "outputs": [ { + "output_type": "stream", "name": "stdout", - "text": "Starting Spark application\n", - "output_type": "stream" + "text": "Starting Spark application\n" }, { + "output_type": "display_data", "data": { "text/plain": "", "text/html": "\n
IDYARN Application IDKindStateSpark UIDriver logCurrent session?
2application_1554755839506_0003pyspark3idleLinkLink
" }, - "metadata": {}, - "output_type": "display_data" + "metadata": {} }, { + "output_type": "stream", "name": "stdout", - "text": "SparkSession available as 'spark'.\n", - "output_type": "stream" + "text": "SparkSession available as 'spark'.\n" }, { + "output_type": "stream", "name": "stdout", - "text": "+---+----------------+------+---------+-------------+------------------+-----------------+-------------+-----+------+------------+------------+--------------+--------------+------+\n|age| workclass|fnlwgt|education|education-num| marital-status| occupation| relationship| race| sex|capital-gain|capital-loss|hours-per-week|native-country|income|\n+---+----------------+------+---------+-------------+------------------+-----------------+-------------+-----+------+------------+------------+--------------+--------------+------+\n| 39| State-gov| 77516|Bachelors| 13| Never-married| Adm-clerical|Not-in-family|White| Male| 2174| 0| 40| United-States| <=50K|\n| 50|Self-emp-not-inc| 83311|Bachelors| 13|Married-civ-spouse| Exec-managerial| Husband|White| Male| 0| 0| 13| United-States| <=50K|\n| 38| Private|215646| HS-grad| 9| Divorced|Handlers-cleaners|Not-in-family|White| Male| 0| 0| 40| United-States| <=50K|\n| 53| Private|234721| 11th| 7|Married-civ-spouse|Handlers-cleaners| Husband|Black| Male| 0| 0| 40| United-States| <=50K|\n| 28| Private|338409|Bachelors| 13|Married-civ-spouse| Prof-specialty| Wife|Black|Female| 0| 0| 40| Cuba| <=50K|\n+---+----------------+------+---------+-------------+------------------+-----------------+-------------+-----+------+------------+------------+--------------+--------------+------+\nonly showing top 5 rows", - "output_type": "stream" + "text": "+---+----------------+------+---------+-------------+------------------+-----------------+-------------+-----+------+------------+------------+--------------+--------------+------+\n|age| workclass|fnlwgt|education|education-num| marital-status| occupation| relationship| race| sex|capital-gain|capital-loss|hours-per-week|native-country|income|\n+---+----------------+------+---------+-------------+------------------+-----------------+-------------+-----+------+------------+------------+--------------+--------------+------+\n| 39| State-gov| 77516|Bachelors| 13| Never-married| Adm-clerical|Not-in-family|White| Male| 2174| 0| 40| United-States| <=50K|\n| 50|Self-emp-not-inc| 83311|Bachelors| 13|Married-civ-spouse| Exec-managerial| Husband|White| Male| 0| 0| 13| United-States| <=50K|\n| 38| Private|215646| HS-grad| 9| Divorced|Handlers-cleaners|Not-in-family|White| Male| 0| 0| 40| United-States| <=50K|\n| 53| Private|234721| 11th| 7|Married-civ-spouse|Handlers-cleaners| Husband|Black| Male| 0| 0| 40| United-States| <=50K|\n| 28| Private|338409|Bachelors| 13|Married-civ-spouse| Prof-specialty| Wife|Black|Female| 0| 0| 40| Cuba| <=50K|\n+---+----------------+------+---------+-------------+------------------+-----------------+-------------+-----+------+------------+------------+--------------+--------------+------+\nonly showing top 5 rows" } ], "execution_count": 3 @@ -59,22 +59,22 @@ "metadata": {}, "outputs": [ { + "output_type": "stream", "name": "stdout", - "text": "+---+----------------+------+---------+-------------+------------------+-----------------+-------------+-----+------+------------+------------+--------------+--------------+------+\n|age| workclass|fnlwgt|education|education_num| marital_status| occupation| relationship| race| sex|capital_gain|capital_loss|hours_per_week|native_country|income|\n+---+----------------+------+---------+-------------+------------------+-----------------+-------------+-----+------+------------+------------+--------------+--------------+------+\n| 39| State-gov| 77516|Bachelors| 13| Never-married| Adm-clerical|Not-in-family|White| Male| 2174| 0| 40| United-States| <=50K|\n| 50|Self-emp-not-inc| 83311|Bachelors| 13|Married-civ-spouse| Exec-managerial| Husband|White| Male| 0| 0| 13| United-States| <=50K|\n| 38| Private|215646| HS-grad| 9| Divorced|Handlers-cleaners|Not-in-family|White| Male| 0| 0| 40| United-States| <=50K|\n| 53| Private|234721| 11th| 7|Married-civ-spouse|Handlers-cleaners| Husband|Black| Male| 0| 0| 40| United-States| <=50K|\n| 28| Private|338409|Bachelors| 13|Married-civ-spouse| Prof-specialty| Wife|Black|Female| 0| 0| 40| Cuba| <=50K|\n+---+----------------+------+---------+-------------+------------------+-----------------+-------------+-----+------+------------+------------+--------------+--------------+------+\nonly showing top 5 rows", - "output_type": "stream" + "text": "+---+----------------+------+---------+-------------+------------------+-----------------+-------------+-----+------+------------+------------+--------------+--------------+------+\n|age| workclass|fnlwgt|education|education_num| marital_status| occupation| relationship| race| sex|capital_gain|capital_loss|hours_per_week|native_country|income|\n+---+----------------+------+---------+-------------+------------------+-----------------+-------------+-----+------+------------+------------+--------------+--------------+------+\n| 39| State-gov| 77516|Bachelors| 13| Never-married| Adm-clerical|Not-in-family|White| Male| 2174| 0| 40| United-States| <=50K|\n| 50|Self-emp-not-inc| 83311|Bachelors| 13|Married-civ-spouse| Exec-managerial| Husband|White| Male| 0| 0| 13| United-States| <=50K|\n| 38| Private|215646| HS-grad| 9| Divorced|Handlers-cleaners|Not-in-family|White| Male| 0| 0| 40| United-States| <=50K|\n| 53| Private|234721| 11th| 7|Married-civ-spouse|Handlers-cleaners| Husband|Black| Male| 0| 0| 40| United-States| <=50K|\n| 28| Private|338409|Bachelors| 13|Married-civ-spouse| Prof-specialty| Wife|Black|Female| 0| 0| 40| Cuba| <=50K|\n+---+----------------+------+---------+-------------+------------------+-----------------+-------------+-----+------+------------+------------+--------------+--------------+------+\nonly showing top 5 rows" } ], "execution_count": 4 }, { "cell_type": "code", - "source": "#Write from Spark to SQL table using JDBC\r\nprint(\"Use build in JDBC connector to write to SQLServer master instance in Big data \")\r\n\r\nservername = \"jdbc:sqlserver://master-0.master-svc\"\r\ndbname = \"MyTestDatabase\"\r\nurl = servername + \";\" + \"databaseName=\" + dbname + \";\"\r\n\r\ndbtable = \"dbo.AdultCensus\"\r\nuser = \"sa\"\r\npassword = \"Yukon900\"\r\n\r\nprint(\"url is \", url)\r\n\r\ntry:\r\n df.write \\\r\n .format(\"jdbc\") \\\r\n .mode(\"overwrite\") \\\r\n .option(\"url\", url) \\\r\n .option(\"dbtable\", dbtable) \\\r\n .option(\"user\", user) \\\r\n .option(\"password\", password)\\\r\n .save()\r\nexcept ValueError as error :\r\n print(\"JDBC Write failed\", error)\r\n\r\nprint(\"JDBC Write done \")\r\n\r\n\r\n", + "source": "#Write from Spark to SQL table using JDBC\r\nprint(\"Use build in JDBC connector to write to SQLServer master instance in Big data \")\r\n\r\nservername = \"jdbc:sqlserver://master-0.master-svc\"\r\ndbname = \"MyTestDatabase\"\r\nurl = servername + \";\" + \"databaseName=\" + dbname + \";\"\r\n\r\ndbtable = \"dbo.AdultCensus\"\r\nuser = \"***\"\r\npassword = \"****\"\r\n\r\nprint(\"url is \", url)\r\n\r\ntry:\r\n df.write \\\r\n .format(\"jdbc\") \\\r\n .mode(\"overwrite\") \\\r\n .option(\"url\", url) \\\r\n .option(\"dbtable\", dbtable) \\\r\n .option(\"user\", user) \\\r\n .option(\"password\", password)\\\r\n .save()\r\nexcept ValueError as error :\r\n print(\"JDBC Write failed\", error)\r\n\r\nprint(\"JDBC Write done \")\r\n\r\n\r\n", "metadata": {}, "outputs": [ { + "output_type": "stream", "name": "stdout", - "text": "Use build in JDBC connector to write to SQLServer master instance in Big data \nurl is jdbc:sqlserver://master-0.master-svc;databaseName=MyTestDatabase;\nJDBC Write done", - "output_type": "stream" + "text": "Use build in JDBC connector to write to SQLServer master instance in Big data \nurl is jdbc:sqlserver://master-0.master-svc;databaseName=MyTestDatabase;\nJDBC Write done" } ], "execution_count": 9 @@ -85,9 +85,9 @@ "metadata": {}, "outputs": [ { + "output_type": "stream", "name": "stdout", - "text": "read data from SQL server table \n+---+----------------+------+---------+-------------+------------------+-----------------+-------------+-----+------+------------+------------+--------------+--------------+------+\n|age| workclass|fnlwgt|education|education_num| marital_status| occupation| relationship| race| sex|capital_gain|capital_loss|hours_per_week|native_country|income|\n+---+----------------+------+---------+-------------+------------------+-----------------+-------------+-----+------+------------+------------+--------------+--------------+------+\n| 39| State-gov| 77516|Bachelors| 13| Never-married| Adm-clerical|Not-in-family|White| Male| 2174| 0| 40| United-States| <=50K|\n| 50|Self-emp-not-inc| 83311|Bachelors| 13|Married-civ-spouse| Exec-managerial| Husband|White| Male| 0| 0| 13| United-States| <=50K|\n| 38| Private|215646| HS-grad| 9| Divorced|Handlers-cleaners|Not-in-family|White| Male| 0| 0| 40| United-States| <=50K|\n| 53| Private|234721| 11th| 7|Married-civ-spouse|Handlers-cleaners| Husband|Black| Male| 0| 0| 40| United-States| <=50K|\n| 28| Private|338409|Bachelors| 13|Married-civ-spouse| Prof-specialty| Wife|Black|Female| 0| 0| 40| Cuba| <=50K|\n+---+----------------+------+---------+-------------+------------------+-----------------+-------------+-----+------+------------+------------+--------------+--------------+------+\nonly showing top 5 rows", - "output_type": "stream" + "text": "read data from SQL server table \n+---+----------------+------+---------+-------------+------------------+-----------------+-------------+-----+------+------------+------------+--------------+--------------+------+\n|age| workclass|fnlwgt|education|education_num| marital_status| occupation| relationship| race| sex|capital_gain|capital_loss|hours_per_week|native_country|income|\n+---+----------------+------+---------+-------------+------------------+-----------------+-------------+-----+------+------------+------------+--------------+--------------+------+\n| 39| State-gov| 77516|Bachelors| 13| Never-married| Adm-clerical|Not-in-family|White| Male| 2174| 0| 40| United-States| <=50K|\n| 50|Self-emp-not-inc| 83311|Bachelors| 13|Married-civ-spouse| Exec-managerial| Husband|White| Male| 0| 0| 13| United-States| <=50K|\n| 38| Private|215646| HS-grad| 9| Divorced|Handlers-cleaners|Not-in-family|White| Male| 0| 0| 40| United-States| <=50K|\n| 53| Private|234721| 11th| 7|Married-civ-spouse|Handlers-cleaners| Husband|Black| Male| 0| 0| 40| United-States| <=50K|\n| 28| Private|338409|Bachelors| 13|Married-civ-spouse| Prof-specialty| Wife|Black|Female| 0| 0| 40| Cuba| <=50K|\n+---+----------------+------+---------+-------------+------------------+-----------------+-------------+-----+------+------------+------------+--------------+--------------+------+\nonly showing top 5 rows" } ], "execution_count": 11 diff --git a/samples/features/sql-big-data-cluster/spark/restful-api-access/accessing_spark_via_livy.ipynb b/samples/features/sql-big-data-cluster/spark/restful-api-access/accessing_spark_via_livy.ipynb new file mode 100644 index 0000000000..0b1f32a71e --- /dev/null +++ b/samples/features/sql-big-data-cluster/spark/restful-api-access/accessing_spark_via_livy.ipynb @@ -0,0 +1,188 @@ +{ + "metadata": { + "kernelspec": { + "name": "python3", + "display_name": "Python 3" + }, + "language_info": { + "name": "python", + "version": "3.6.6", + "mimetype": "text/x-python", + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "pygments_lexer": "ipython3", + "nbconvert_exporter": "python", + "file_extension": ".py" + } + }, + "nbformat_minor": 2, + "nbformat": 4, + "cells": [ + { + "cell_type": "markdown", + "source": "# Using Spark from Livy end point\r\nThe samples demostrates using spark service via the livy end point. The sample uses the python request library to access the livy interface. \r\nLivy API details are available at https://livy.incubator.apache.org/docs/latest/rest-api.html\r\n** Note : The image here may not be visible dues to markdown bug. Please change path here to full path to view the image.\r\n\"drawing\"\r\n\r\n", + "metadata": {} + }, + { + "cell_type": "markdown", + "source": "## Using python requests library to access restful APIs", + "metadata": {} + }, + { + "cell_type": "code", + "source": "import json, pprint, requests, textwrap\r\nfrom requests.auth import HTTPBasicAuth\r\nprint(\"Get username and email \")\r\nprint(\"---------------------- \")\r\n\r\n#Basic test for request\r\nimport requests\r\n\r\nr = requests.get('https://jsonplaceholder.typicode.com/users')\r\nr.encoding = 'utf-8'\r\nret_json = r.json()\r\n\r\n\r\nfor user in ret_json:\r\n print(user['username'] , user['email'])\r\n\r\n#print(r.json()) \r\n\r\n", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": "Get username and email \n---------------------- \n" + }, + { + "output_type": "stream", + "name": "stdout", + "text": "Bret Sincere@april.biz\nAntonette Shanna@melissa.tv\nSamantha Nathan@yesenia.net\nKarianne Julianne.OConner@kory.org\nKamren Lucio_Hettinger@annie.ca\nLeopoldo_Corkery Karley_Dach@jasper.info\nElwyn.Skiles Telly.Hoeger@billy.biz\nMaxime_Nienow Sherwood@rosamond.me\nDelphine Chaim_McDermott@dana.io\nMoriah.Stanton Rey.Padberg@karina.biz\n" + } + ], + "execution_count": 1 + }, + { + "cell_type": "markdown", + "source": "## Livy APIs to fetch running sessions and sesssion state", + "metadata": {} + }, + { + "cell_type": "code", + "source": "import json, pprint, requests, textwrap\r\nfrom requests.auth import HTTPBasicAuth\r\n\r\n#Diabling exception to avoid the https verificatin warning\r\nimport requests.packages.urllib3 as urllib3\r\nimport urllib3.exceptions as urllib3_exceptions \r\nurllib3.disable_warnings(urllib3_exceptions.InsecureRequestWarning)\r\n\r\n\r\n#Change host per your confirgration \r\nhost = \"https://:/gateway/default/livy/v1\"\r\n\r\n#Livy interface as per https://livy.incubator.apache.org/docs/latest/rest-api.html#session\r\n\r\n# Construct Request - Get a list of current spark sessions.\r\nsessions_url = host + \"/sessions\"\r\n\r\n# Common headers for all requests.\r\n# Auth header\r\nauth = HTTPBasicAuth(\"***\", \"***\")\r\n# Content Type\r\nheaders = {'Content-Type': 'application/json'}\r\n\r\ndata = {\r\n 'from': 0, \r\n 'size': 10\r\n }\r\nr = requests.get(sessions_url, data=json.dumps(data), headers=headers, auth=auth, verify=False)\r\n\r\nresponse_body = r.json()\r\n\r\nprint(\"Sessions fetched starting \", response_body['from'])\r\nprint(\"Number of session fetched\", response_body['total'])\r\nsession_list = response_body['sessions']\r\n\r\nfor session in session_list:\r\n print(\"The session {0} has a state {1} \".format(session['id'],session['state']))\r\n\r\n", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": "Sessions fetched starting 0\nNumber of session fetched 1\nThe session 10 has a state idle \n" + } + ], + "execution_count": 2 + }, + { + "cell_type": "markdown", + "source": "## Create a new Spark session and query state", + "metadata": {} + }, + { + "cell_type": "code", + "source": "#Create a new Spark session\r\ndata = {\r\n 'kind':'pyspark'\r\n}\r\n\r\nr = requests.post(sessions_url, data=json.dumps(data), headers=headers, auth=auth, verify=False)\r\nresponse_body = r.json()\r\n\r\nsession_id = response_body['id']\r\nsession_state = response_body['state']\r\nprint(\"Spark session {0} created. Current state is {1}\".format(session_id,session_state))\r\ncreated_session_url = r.headers['location']\r\n\r\n\r\n\r\n", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": "Spark session 13 created. Current state is starting\n" + } + ], + "execution_count": 3 + }, + { + "cell_type": "code", + "source": "#Query information about the session we just created\r\nthis_session_url = host + created_session_url\r\nprint(\"this_session_url\", this_session_url)\r\n\r\nr = requests.get(this_session_url, headers=headers,auth=auth, verify=False)\r\npprint.pprint(r.json())", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": "this_session_url https://13.91.32.53:30443/gateway/default/livy/v1/sessions/13\n" + }, + { + "output_type": "stream", + "name": "stdout", + "text": "{'appId': 'application_1560270944894_0014',\n 'appInfo': {'driverLogUrl': 'http://storage-0-0.storage-0-svc.newaks.svc.cluster.local:8042/node/containerlogs/container_1560270944894_0014_01_000001/root',\n 'sparkUiUrl': 'http://master-0.master-svc:8088/proxy/application_1560270944894_0014/'},\n 'id': 13,\n 'kind': 'pyspark',\n 'log': ['\\t ApplicationMaster RPC port: -1',\n '\\t queue: default',\n '\\t start time: 1560880472284',\n '\\t final status: UNDEFINED',\n '\\t tracking URL: '\n 'http://master-0.master-svc:8088/proxy/application_1560270944894_0014/',\n '\\t user: root',\n '19/06/18 17:54:32 INFO util.ShutdownHookManager: Shutdown hook '\n 'called',\n '19/06/18 17:54:32 INFO util.ShutdownHookManager: Deleting directory '\n '/tmp/spark-de7b25a4-1605-4d7f-bef5-c921175c8ae9',\n '19/06/18 17:54:32 INFO util.ShutdownHookManager: Deleting directory '\n '/tmp/spark-00164108-299d-4313-b800-04bbfb8c1e5a',\n '\\nYARN Diagnostics: '],\n 'name': None,\n 'owner': None,\n 'proxyUser': None,\n 'state': 'idle'}\n" + } + ], + "execution_count": 11 + }, + { + "cell_type": "markdown", + "source": "## Execute code interactively Spark session and check results", + "metadata": {} + }, + { + "cell_type": "code", + "source": "\r\n#Execute code interactively in this session using session//statements interface\r\n\r\nstatements_url = this_session_url + \"/statements\"\r\npprint.pprint(statements_url)\r\n\r\ndata = {\r\n 'code': \"11+11\"\r\n}\r\n\r\nr = requests.post(statements_url, data=json.dumps(data), headers=headers, auth=auth, verify=False)\r\nprint(\"Respone status code\" ,r.status_code )\r\nprint(\"Response received is \",r.json())\r\nprint(\"Poll URI is \",r.headers['location'])\r\n#response_body = r.json()\r\n\r\n\r\n\r\n", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": "'https://13.91.32.53:30443/gateway/default/livy/v1/sessions/13/statements'\n" + }, + { + "output_type": "stream", + "name": "stdout", + "text": "Respone status code 201\nResponse received is {'id': 0, 'code': '11+11', 'state': 'waiting', 'output': None, 'progress': 0.0}\nPoll URI is /sessions/13/statements/0\n" + } + ], + "execution_count": 12 + }, + { + "cell_type": "code", + "source": "# Wait a while before executing this cell. Spark session start up takes time to run your code.\r\nspecific_statement = host + r.headers['location']\r\nprint(\"monitoring url is \", specific_statement)\r\n\r\nr = requests.get(specific_statement, headers=headers, auth=auth, verify=False)\r\nprint(\"Response status is \",r.status_code)\r\nprint(\"Response received is \", pprint.pprint(r.json()))", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": "monitoring url is https://13.91.32.53:30443/gateway/default/livy/v1/sessions/13/statements/0\n" + }, + { + "output_type": "stream", + "name": "stdout", + "text": "Response status is 200\n{'code': '11+11',\n 'id': 0,\n 'output': {'data': {'text/plain': '22'}, 'execution_count': 0, 'status': 'ok'},\n 'progress': 1.0,\n 'state': 'available'}\nResponse received is None\n" + } + ], + "execution_count": 13 + }, + { + "cell_type": "markdown", + "source": "## Execute code in batch", + "metadata": {} + }, + { + "cell_type": "code", + "source": "#Execute code in batch\r\n#The following uses pi.py from spark source. Please get that file and transer to HDFS /jar folder.\r\nbatch_url = host + \"/batches\"\r\nprint(\"batch_url\", batch_url)\r\n\r\ndata = {\r\n 'file' : '/jar/pi.py' \r\n}\r\n\r\nr = requests.post(batch_url, data=json.dumps(data), headers=headers, auth=auth, verify=False)\r\nreturned_batch_url = r.headers['location']\r\nprint(\"Respone status code\" , r.status_code)\r\nprint(\"Poll URI is \",returned_batch_url )\r\nprint(\"Response is \", pprint.pprint(r.json()))", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": "batch_url https://13.91.32.53:30443/gateway/default/livy/v1/batches\n" + }, + { + "output_type": "stream", + "name": "stdout", + "text": "Respone status code 201\nPoll URI is /batches/1\n{'appId': None,\n 'appInfo': {'driverLogUrl': None, 'sparkUiUrl': None},\n 'id': 1,\n 'log': ['stdout: ', '\\nstderr: ', '\\nYARN Diagnostics: '],\n 'name': None,\n 'state': 'starting'}\nResponse is None\n" + } + ], + "execution_count": 15 + }, + { + "cell_type": "code", + "source": "#Check results of executed code\r\nspecific_batch = host + returned_batch_url\r\nprint(\"specific batch request \",specific_batch)\r\n\r\nr = requests.get(specific_batch,headers=headers, auth=auth, verify = False)\r\nprint(\"Response status is \",r.status_code)\r\nprint(\"Response received is \", pprint.pprint(r.json()))", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": "specific batch request https://13.91.32.53:30443/gateway/default/livy/v1/batches/1\n" + }, + { + "output_type": "stream", + "name": "stdout", + "text": "Response status is 200\n{'appId': None,\n 'appInfo': {'driverLogUrl': None, 'sparkUiUrl': None},\n 'id': 1,\n 'log': ['stdout: ',\n '19/06/18 17:57:32 WARN util.NativeCodeLoader: Unable to load '\n 'native-hadoop library for your platform... using builtin-java '\n 'classes where applicable',\n '\\nstderr: ',\n '\\nYARN Diagnostics: '],\n 'name': None,\n 'state': 'starting'}\nResponse received is None\n" + } + ], + "execution_count": 16 + } + ] +} \ No newline at end of file diff --git a/samples/features/sql-big-data-cluster/spark/restful-api-access/spark_from_livy.JPG b/samples/features/sql-big-data-cluster/spark/restful-api-access/spark_from_livy.JPG new file mode 100644 index 0000000000000000000000000000000000000000..41d006b088136a94844338f3f55c9c7a62c62d85 GIT binary patch literal 163980 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

-`d7T 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 Dr|rje literal 0 HcmV?d00001 diff --git a/samples/features/sql-big-data-cluster/spark/spark_to_sql/mssql_spark_connector.ipynb b/samples/features/sql-big-data-cluster/spark/spark_to_sql/mssql_spark_connector.ipynb deleted file mode 100644 index def8a13a1c..0000000000 --- a/samples/features/sql-big-data-cluster/spark/spark_to_sql/mssql_spark_connector.ipynb +++ /dev/null @@ -1,81 +0,0 @@ -{ - "metadata": { - "kernelspec": { - "name": "pyspark3kernel", - "display_name": "PySpark3" - }, - "language_info": { - "name": "pyspark3", - "mimetype": "text/x-python", - "codemirror_mode": { - "name": "python", - "version": 3 - }, - "pygments_lexer": "python3" - } - }, - "nbformat_minor": 2, - "nbformat": 4, - "cells": [ - { - "cell_type": "markdown", - "source": "# Read and write from Spark to SQL using the MSSQL jdbc Connector\r\nA typical big data scenario a key usage pattern is high volume, velocity and variety data processing in Spark followed with batch/streaming writes to SQL for access to LOB applications. These usage patterns greatly benefit from a connector that utilizes key SQL optimizations and provides an efficient and reliable write to SQLServer Big Data Cluster or SQL DB. \r\n\r\nMSSQL JDBC connector, referenced by the name com.microsoft.sqlserver.jdbc.spark, uses [SQL Server Bulk copy APIS](https://docs.microsoft.com/en-us/sql/connect/jdbc/using-bulk-copy-with-the-jdbc-driver?view=sql-server-2017#sqlserverbulkcopyoptions) to implement an efficient write to SQL Server. The connector is based on Spark Data source APIs and provides a familiar JDBC interface for access.\r\n\r\nThe following sample shows how to use the MSSQL JDBC Connector for writing and reading to/from a SQL Source. In this sample we' ll \r\n- Read a file from HDFS and do some basic processing \r\n- post that we'll write the dataframe to SQL server table using the MSSQL Connector. \r\n- Followed by the write we'll read using the MSSQLConnector.\r\n\r\nPreReq : \r\n- The sample uses a SQL database named \"MyTestDatabase\". Create this before you run this sample. The database can be created as follows\r\n ``` sql\r\n Create DATABASE MyTestDatabase\r\n GO \r\n ``` \r\n- Download [AdultCensusIncome.csv]( https://amldockerdatasets.azureedge.net/AdultCensusIncome.csv ) to your local machine. Create a hdfs folder named spark_data and upload the file there. \r\n- Configure the spark session to use the MSSQL Connector jar. The jar can be found at /jar/spark-mssql-connector-assembly-1.0.0.jar post deployment of Big Data Cluster.\r\n\r\n``` sh\r\n %%configure -f\r\n {\"conf\": {\"spark.jars\": \"/jar/spark-mssql-connector-assembly-1.0.0.jar\"}}\r\n```\r\n\r\n \r\n ", - "metadata": {} - }, - { - "cell_type": "markdown", - "source": "# Configure the notebook to use the MSSQL Spark connector\r\nThis step woould be removed in subsequent CTPs. As of CTP2.5 this step is required to point the spark session to the relevant jar.\r\n ", - "metadata": {} - }, - { - "cell_type": "code", - "source": "%%configure -f\r\n{\"conf\": {\"spark.jars\": \"/jar/spark-mssql-connector-assembly-1.0.0.jar\"}}\r\n\r\n\r\n\r\n", - "metadata": {}, - "outputs": [], - "execution_count": 4 - }, - { - "cell_type": "markdown", - "source": "# Read data into a data frame\r\nIn this step we read the data into a data frame and do some basic clearup steps. \r\n\r\n", - "metadata": {} - }, - { - "cell_type": "code", - "source": "#Read a file and then write it to the SQL table\r\ndatafile = \"/spark_data/AdultCensusIncome.csv\"\r\ndf = spark.read.format('csv').options(header='true', inferSchema='true', ignoreLeadingWhiteSpace='true', ignoreTrailingWhiteSpace='true').load(datafile)\r\ndf.show(5)\r\n", - "metadata": {}, - "outputs": [], - "execution_count": 6 - }, - { - "cell_type": "code", - "source": "\r\n#Process this data. Very simple data cleanup steps. Replacing \"-\" with \"_\" in column names\r\ncolumns_new = [col.replace(\"-\", \"_\") for col in df.columns]\r\ndf = df.toDF(*columns_new)\r\ndf.show(5)\r\n\r\n", - "metadata": {}, - "outputs": [], - "execution_count": 8 - }, - { - "cell_type": "markdown", - "source": "# Write dataframe to SQL using MSSQL Spark Connector", - "metadata": {} - }, - { - "cell_type": "code", - "source": "#Write from Spark to SQL table using MSSQL Spark Connector\r\nprint(\"Use MSSQL connector to write to master SQL instance \")\r\n\r\nservername = \"jdbc:sqlserver://master-0.master-svc\"\r\ndbname = \"MyTestDatabase\"\r\nurl = servername + \";\" + \"databaseName=\" + dbname + \";\"\r\n\r\ndbtable = \"dbo.AdultCensus\"\r\nuser = \"sa\"\r\npassword = \"****\" # Please specify password here\r\n\r\n\r\ntry:\r\n df.write \\\r\n .format(\"com.microsoft.sqlserver.jdbc.spark\") \\\r\n .mode(\"overwrite\") \\\r\n .option(\"url\", url) \\\r\n .option(\"dbtable\", dbtable) \\\r\n .option(\"user\", user) \\\r\n .option(\"password\", password)\\\r\n .save()\r\nexcept ValueError as error :\r\n print(\"MSSQL Connector write failed\", error)\r\n\r\nprint(\"MSSQL Connector write succeeded \")\r\n\r\n\r\n", - "metadata": {}, - "outputs": [], - "execution_count": 10 - }, - { - "cell_type": "markdown", - "source": "# Read SQL Table using MSSQL Spark connector.\r\nThe following code uses the connetor to read the tables. To confirm the write about check table directly using SQL", - "metadata": {} - }, - { - "cell_type": "code", - "source": "#Read from SQL table using MSSQ Connector\r\nprint(\"read data from SQL server table \")\r\njdbcDF = spark.read \\\r\n .format(\"com.microsoft.sqlserver.jdbc.spark\") \\\r\n .option(\"url\", url) \\\r\n .option(\"dbtable\", dbtable) \\\r\n .option(\"user\", user) \\\r\n .option(\"password\", password) \\\r\n .load()\r\n\r\njdbcDF.show(5)", - "metadata": {}, - "outputs": [], - "execution_count": 11 - } - ] -} \ No newline at end of file