Updated on 2024-08-10 GMT+08:00

Configuring and Importing a Sample Project

Scenarios

Flink provides sample projects for multiple scenarios, including Java and Scala sample projects, to help you quickly learn Flink projects.

Methods to import Java and Scala projects are the same.

The following example describes how to import Java sample code. Figure 1 shows the operation process.

Figure 1 Process of importing sample projects

Procedure

  1. Obtain the sample project folder flink-examples-security in the src\flink-examples directory where the sample code is decompressed. For details, see Obtaining the MRS Application Development Sample Project.

    • In security mode, obtain the sample project flink-examples-security from the src\flink-examples folder.
    • In normal mode, obtain the sample project flink-examples-normal from the src\flink-examples folder.

  2. Before importing the sample project, configure JDK for IntelliJ IDEA.

    1. Start IntelliJ IDEA and click Configure.
      Figure 2 Choosing Configure
    2. Choose Project Defaults from the Configure drop-down list.
      Figure 3 Choosing Project Defaults
    3. Choose Project Structure from the Project Defaults submenu.
      Figure 4 Project Defaults
    4. On the Project Structure page, select SDKs and click the plus sign to add the JDK.
      Figure 5 Adding the JDK
    5. On the Select Home Directory for JDK page that is displayed, select the JDK directory and click OK.
      Figure 6 Selecting the JDK directory
    6. After the JDK is selected, click OK to complete the configuration.
      Figure 7 Completing the JDK configuration

  3. (Optional) If a Scala sample project is imported, install Scala plug-ins in IntelliJ IDEA.

    1. Choose Plugins from the Configure drop-down list.
      Figure 8 Plugins
    2. On the Plugins page, click Install plugin from disk.
      Figure 9 Install plugin from disk
    3. On the Choose Plugin File page, select the Scala plugin file of the corresponding version and click OK.
      Figure 10 Choose Plugin File
    4. On the Plugins page, click Apply to install the Scala plugins.
    5. On the Platform and Plugin Updates page that is displayed, click Restart to make the configurations take effect.
      Figure 11 Platform and Plugin Updates

  4. Import the Java sample project to IDEA.

    1. Start IntelliJ IDEA. On the Quick Start page, select Import Project.

      Alternatively, for the used IDEA tool, add the project directly from the IDEA home page. Choose File > Import project... to import a project.

      Figure 12 Importing a project (on the Quick Start page)
    2. Select the directory for storing the imported projects and click OK.
      Figure 13 Select File or Directory to Import
    3. Select Create project from existing sources and click Next.
      Figure 14 Create project from existing sources
    4. Confirm the project location and project name, and click Next.
      Figure 15 Import Project
    5. Retain the default value of the root directory for the project to be imported and click Next.
      Figure 16 Import Project
    6. Retain the default dependency library that is automatically recognized by IDEA and the suggested module structure, and click Next.
    7. Confirm the JDK to be used by the project and click Next.
    8. After the import is complete, click Finish. The imported sample project is displayed on the IDEA home page.
      Figure 17 Completing the import
      Figure 18 Imported project

  5. Import the dependency JAR file for the sample project.

    If the sample project code is obtained from an open-source image site, dependency JAR files are automatically downloaded after Maven is configured.

    If other FusionInsight components such as Kafka are used in the sample code, obtain them from the installation directory of these FusionInsight components. For details about dependency packages of sample projects, see Sample Project Dependency Package Reference.

  6. (Optional) If a Scala sample application is imported, configure a language for the project.

    1. On the IDEA home page, choose File > Project Structures... to go to the Project Structure page.
    2. Choose Modules, right-click a project name, and choose Add > Scala.
      Figure 19 Selecting Scala
    3. Wait until IDEA identifies Scala SDK, select the dependency JAR files in the Add Scala Support dialog box, and then click OK.
      Figure 20 Add Scala Support
    4. If IDEA fails to identify Scala SDK, create a Scala SDK.
      1. Click Create....
        Figure 21 Create...
      2. On the Select JAR's for the new Scala SDK page, click Browse....
        Figure 22 Select JAR's for the new Scala SDK
      3. On the Scala SDK files page, select the scala sdk directory and click OK.
        Figure 23 Scala SDK files
    5. Click OK.
      Figure 24 The configuration is successful.

  7. Configure the text file encoding format of IDEA to prevent garbled characters.

    1. On the IDEA home page, choose File > Settings....
      Figure 25 Choosing Settings
    2. Configure encoding.
      1. On the Settings page, unfold Editor, and choose File Encodings.
      2. Select UTF-8 from the IDE Encoding and Project Encoding drop-down lists on the right.
      3. Click Apply.
      4. Click OK to complete the encoding settings.
      Figure 26 Settings
    • Obtain related dependency packages from the Flink server installation directory.
    • Obtain Kafka dependency packages from the Kafka environment.
    • For details about the dependency packages, see Sample Project Dependency Package Reference.

Sample Project Dependency Package Reference

The lib and opt directories of the Flink client contain Flink JAR packages. By default, the lib directory contains the Flink core JAR package, and the opt directory contains the JAR package (for example, flink-connector-kafka*.jar) for connecting to external components. If it is required during application development, manually copy the related JAR packages to the lib directory.

The dependency packages of the sample projects provided by Flink are as follows:

Table 1 Dependency package for running the sample project

Sample project

Dependency package

Obtaining Dependency Packages

  • Sample project of the DataStream application
  • Sample project of the asynchronous checkpoint mechanism application

flink-dist_*.jar

Can be obtained from lib in the installation directory of the Flink client or server.

  • Sample projects of Submitting SQL Jobs Using Flink Jar
  • Sample projects of FlinkServer REST API
  • flink-dist_*.jar
  • flink-table_*.jar

Can be obtained from lib in the installation directory of the Flink client or server.

Sample projects of the application for producing and consuming data in Kafka

  • kafka-clients-*.jar
  • flink-connector-kafka_*.jar
  • kafka-clients-*.jar is provided by Kafka and can be obtained from the lib directory in the installation directory of the Kafka client or server.
  • flink-connector-kafka_*.jar can be obtained from opt in the installation directory of the Flink client or server.

Sample projects of pipeline

  • flink-connector-netty_*.jar
  • flink-dist_*.jar
  • flink-connector-netty_*.jar can be obtained from the lib folder generated after the secondary development sample code is compiled.
  • flink-dist_*.jar can be obtained from lib in the installation directory of the Flink client or server.

Sample projects of Stream SQL JOIN

  • kafka-clients-*.jar
  • flink-connector-kafka_*.jar
  • flink-dist_*.jar
  • flink-table_*.jar
  • kafka-clients-*.jar is provided by Kafka and can be obtained from the lib directory in the installation directory of the Kafka client or server.
  • flink-connector-kafka_*.jar can be obtained from opt in the installation directory of the Flink client or server.
  • flink-dist_*.jar, flink-table_*.jar can be obtained from lib in the installation directory of the Flink client or server.

Sample projects of HBase

  • flink-connector-hbase*.jar
  • flink-dist_*.jar
  • flink-table_*.jar
  • hbase-clients-*.jar
  • flink-connector-hbase_*.jar can be obtained from opt in the installation directory of the Flink client or server.
  • flink-dist_*.jar, flink-table_*.jar can be obtained from lib in the installation directory of the Flink client or server.
  • hbase-clients-*.jar is provided by HBase and can be obtained from the lib directory in the installation directory of the HBase client or server.

Sample projects of Hudi

hbase-unsafe-*.jar

Can be obtained from the lib folder generated after the secondary development sample code is compiled.