Connect to Stack Exchange Data in CloverDX (formerly CloverETL)

Jerod Johnson
Jerod Johnson
Director, Technology Evangelism
Transfer Stack Exchange data using the visual workflow in the CloverDX data integration tool.

The CData JDBC Driver for Stack Exchange enables you to use the data transformation components in CloverDX (formerly CloverETL) to work with Stack Exchange as sources. In this article, you will use the JDBC Driver for Stack Exchange to set up a simple transfer into a flat file. The CData JDBC Driver for Stack Exchange enables you to use the data transformation components in CloverDX (formerly CloverETL) to work with Stack Exchange as sources. In this article, you will use the JDBC Driver for Stack Exchange to set up a simple transfer into a flat file.

Connect to Stack Exchange as a JDBC Data Source

  1. Create the connection to Stack Exchange data. In a new CloverDX graph, right-click the Connections node in the Outline pane and click Connections -> Create Connection. The Database Connection wizard is displayed.
  2. Click the plus icon to load a driver from a JAR. Browse to the lib subfolder of the installation directory and select the cdata.jdbc.api.jar file.
  3. Enter the JDBC URL.

    Start by setting the Profile connection property to the location of the Stack Exchange Profile on disk (e.g. C:\profiles\StackExchange.apip). Next, set the ProfileSettings connection property to the connection string for Stack Exchange (see below).

    Stack Exchange API Profile Settings

    Register an application on StackApps to obtain an API Key. The Site property specifies which Stack Exchange site to query (e.g., stackoverflow).

    Built-in Connection String Designer

    For assistance in constructing the JDBC URL, use the connection string designer built into the Stack Exchange JDBC Driver. Either double-click the JAR file or execute the jar file from the command-line.

    java -jar cdata.jdbc.api.jar
    

    Fill in the connection properties and copy the connection string to the clipboard.

    A typical JDBC URL is below:

    jdbc:api:Profile=C:\profiles\StackExchange.apip;ProfileSettings='APIKey=your_api_key;Site=stackoverflow';

Query Stack Exchange Data with the DBInputTable Component

  1. Drag a DBInputTable from the Readers selection of the Palette onto the job flow and double-click it to open the configuration editor.
  2. In the DB connection property, select the Stack Exchange JDBC data source from the drop-down menu.
  3. Enter the SQL query. For example:
    SELECT AnswerId, CreationDate FROM Answers WHERE IsAccepted = 'true'

Write the Output of the Query to a UniversalDataWriter

  1. Drag a UniversalDataWriter from the Writers selection onto the jobflow.
  2. Double-click the UniversalDataWriter to open the configuration editor and add a file URL.
  3. Right-click the DBInputTable and then click Extract Metadata.
  4. Connect the output port of the DBInputTable to the UniversalDataWriter.
  5. In the resulting Select Metadata menu for the UniversalDataWriter, choose the Answers table. (You can also open this menu by right-clicking the input port for the UniversalDataWriter.)
  6. Click Run to write to the file.

Ready to get started?

Connect to live data from Stack Exchange with the API Driver

Connect to Stack Exchange