Skip to content

[HUDI-3859] Fix spark profiles and utilities-slim dep#5297

Merged
yihua merged 3 commits intoapache:masterfrom
xushiyan:HUDI-3859-fix-utilities-slim-dep
Apr 12, 2022
Merged

[HUDI-3859] Fix spark profiles and utilities-slim dep#5297
yihua merged 3 commits intoapache:masterfrom
xushiyan:HUDI-3859-fix-utilities-slim-dep

Conversation

@xushiyan
Copy link
Member

@xushiyan xushiyan commented Apr 12, 2022

  • Fix GH actions to not run patch versions
  • Update readme for explaining different spark bundles and build instructions
  • Remove parquet-avro from utilities-slim to avoid conflicts with different spark bundles

@xushiyan xushiyan added the priority:blocker Production down; release blocker label Apr 12, 2022
@hudi-bot
Copy link
Collaborator

CI report:

Bot commands @hudi-bot supports the following commands:
  • @hudi-bot run azure re-run the last Azure build

Copy link
Contributor

@yihua yihua left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

One nit

# Build against Spark 3.2.x (the default build shipped with the public Spark 3 bundle)
mvn clean package -DskipTests -Pspark3.2
# Build against Spark 3.2.x
mvn clean package -DskipTests -Dspark3.2 -Dscala-2.12
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For spark3.2 and spark3.1, scala-2.12 is used by default so there is no need to provide that.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

spark3.2 sets the scala 12 dependencies but scala-2.12 additionally runs the enforcer plugin to guard the artifacts' suffix. so i think it's better to activate both profiles to build

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should we have the enforcer plugin enabled for spark3.2 and related profiles as well? That'll make the command shorter for local builds. This can be a follow-up.

Copy link
Contributor

@yihua yihua left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM with one nit. I'll merge this now and any change addressing the nit can be a follow-up.

# Build against Spark 3.2.x (the default build shipped with the public Spark 3 bundle)
mvn clean package -DskipTests -Pspark3.2
# Build against Spark 3.2.x
mvn clean package -DskipTests -Dspark3.2 -Dscala-2.12
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should we have the enforcer plugin enabled for spark3.2 and related profiles as well? That'll make the command shorter for local builds. This can be a follow-up.

@yihua yihua merged commit 2e6e302 into apache:master Apr 12, 2022
@xushiyan xushiyan deleted the HUDI-3859-fix-utilities-slim-dep branch April 20, 2022 12:26
| Maven build options | Expected Spark bundle jar name | Notes |
|:--------------------------|:---------------------------------------------|:-------------------------------------------------|
| (empty) | hudi-spark-bundle_2.11 (legacy bundle name) | For Spark 2.4.4 and Scala 2.11 (default options) |
| `-Dspark2.4` | hudi-spark2.4-bundle_2.11 | For Spark 2.4.4 and Scala 2.11 (same as default) |
Copy link
Contributor

@Zouxxyy Zouxxyy Jun 11, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@xushiyan Hi, may I ask why we choose to use -D to specify the profile
I know there is such an activation by property in one profile

     <activation>
       <property>
         <name>spark2.4</name>
       </property>
     </activation>

Why not just use -PprofileName

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

priority:blocker Production down; release blocker

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants