![]() |
VOOZH | about |
Apache Spark is a fast and general engine for large-scale data processing. When paired with the CData JDBC Driver for Email, Spark can work with live Email data. This article describes how to connect to and query Email data from a Spark shell.
The CData JDBC Driver offers unmatched performance for interacting with live Email data due to optimized data processing built into the driver. When you issue complex SQL queries to Email, the driver pushes supported SQL operations, like filters and aggregations, directly to Email and utilizes the embedded SQL engine to process unsupported operations (often SQL functions and JOIN operations) client-side. With built-in dynamic metadata querying, you can work with and analyze Email data using native data types.
Download the CData JDBC Driver for Email installer, unzip the package, and run the JAR file to install the driver.
$ spark-shell --jars /CData/CData JDBC Driver for Email/lib/cdata.jdbc.email.jar
The User and Password properties, under the Authentication section, must be set to valid credentials. The Server must be specified to retrieve emails and the SMTPServer must be specified to send emails.
For assistance in constructing the JDBC URL, use the connection string designer built into the Email JDBC Driver. Either double-click the JAR file or execute the jar file from the command-line.
java -jar cdata.jdbc.email.jar
Fill in the connection properties and copy the connection string to the clipboard.
👁 Using the built-in connection string designer to generate a JDBC URL (Salesforce is shown.)Configure the connection to Email, using the connection string generated above.
scala> val email_df = spark.sqlContext.read.format("jdbc").option("url", "jdbc:email:[email protected];Password=password;Server=imap.gmail.com;Port=993;SMTP Server=smtp.gmail.com;SMTP Port=465;SSL Mode=EXPLICIT;Protocol=IMAP;Mailbox=Inbox;").option("dbtable","Mailboxes").option("driver","cdata.jdbc.email.EmailDriver").load()
Register the Email data as a temporary table:
scala> email_df.registerTable("mailboxes")
Perform custom SQL queries against the Data using commands like the one below:
scala> email_df.sqlContext.sql("SELECT Mailbox, RecentMessagesCount FROM Mailboxes WHERE Mailbox = Spam").collect.foreach(println)
You will see the results displayed in the console, similar to the following:
👁 Data in Apache Spark (Salesforce is shown)Using the CData JDBC Driver for Email in Apache Spark, you are able to perform fast and complex analytics on Email data, combining the power and utility of Spark with your data. Download a free, 30 day trial of any of the hundreds of CData JDBC Drivers and get started today.
Download a free trial of the Email Driver to get started:
Download NowLearn more:
👁 Email IconRapidly create and deploy powerful Java applications that integrate powerful Email send and receive capabilities. Send & Receive Email through POP3, IMAP, and SMTP, Verify Addresses, and more!