Do you have the Eclipse Maven plugin setup? http://www.eclipse.org/m2e/ <http://www.eclipse.org/m2e/>
Once you have it setup, File -> New -> Other -> MavenProject -> Next / Finish. You’ll see a default POM.xml which you can modify / replace. Here is some documentation that should help: http://scala-ide.org/docs/tutorials/m2eclipse/ <http://scala-ide.org/docs/tutorials/m2eclipse/> I’m using the same Eclipse build as you on my Mac. I mostly build a shaded JAR and SCP it to the cluster. > On Mar 15, 2016, at 12:22 PM, Mich Talebzadeh <mich.talebza...@gmail.com> > wrote: > > Great Chandeep. I also have Eclipse Scala IDE below > > scala IDE build of Eclipse SDK > Build id: 4.3.0-vfinal-2015-12-01T15:55:22Z-Typesafe > > I am no expert on Eclipse so if I create project called ImportCSV where do I > need to put the pom file or how do I reference it please. My Eclipse runs on > a Linux host so it cab access all the directories that sbt project accesses? > I also believe there will not be any need for external jar files in builkd > path? > > Thanks > > Dr Mich Talebzadeh > > LinkedIn > https://www.linkedin.com/profile/view?id=AAEAAAAWh2gBxianrbJd6zP6AcPCCdOABUrV8Pw > > <https://www.linkedin.com/profile/view?id=AAEAAAAWh2gBxianrbJd6zP6AcPCCdOABUrV8Pw> > > http://talebzadehmich.wordpress.com <http://talebzadehmich.wordpress.com/> > > > On 15 March 2016 at 12:15, Chandeep Singh <c...@chandeep.com > <mailto:c...@chandeep.com>> wrote: > Btw, just to add to the confusion ;) I use Maven as well since I moved from > Java to Scala but everyone I talk to has been recommending SBT for Scala. > > I use the Eclipse Scala IDE to build. http://scala-ide.org/ > <http://scala-ide.org/> > > Here is my sample PoM. You can add dependancies based on your requirement. > > <project xmlns="http://maven.apache.org/POM/4.0.0 > <http://maven.apache.org/POM/4.0.0>" > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance > <http://www.w3.org/2001/XMLSchema-instance>" > xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 > <http://maven.apache.org/POM/4.0.0> http://maven.apache.org/maven-v4_0_0.xsd > <http://maven.apache.org/maven-v4_0_0.xsd>"> > <modelVersion>4.0.0</modelVersion> > <groupId>spark</groupId> > <version>1.0</version> > <name>${project.artifactId}</name> > > <properties> > <maven.compiler.source>1.7</maven.compiler.source> > <maven.compiler.target>1.7</maven.compiler.target> > <encoding>UTF-8</encoding> > <scala.version>2.10.4</scala.version> > <maven-scala-plugin.version>2.15.2</maven-scala-plugin.version> > </properties> > > <repositories> > <repository> > <id>cloudera-repo-releases</id> > > <url>https://repository.cloudera.com/artifactory/repo/</url> > <https://repository.cloudera.com/artifactory/repo/%3C/url%3E> > </repository> > </repositories> > > <dependencies> > <dependency> > <groupId>org.scala-lang</groupId> > <artifactId>scala-library</artifactId> > <version>${scala.version}</version> > </dependency> > <dependency> > <groupId>org.apache.spark</groupId> > <artifactId>spark-core_2.10</artifactId> > <version>1.5.0-cdh5.5.1</version> > </dependency> > <dependency> > <groupId>org.apache.spark</groupId> > <artifactId>spark-mllib_2.10</artifactId> > <version>1.5.0-cdh5.5.1</version> > </dependency> > <dependency> > <groupId>org.apache.spark</groupId> > <artifactId>spark-hive_2.10</artifactId> > <version>1.5.0</version> > </dependency> > > </dependencies> > <build> > <sourceDirectory>src/main/scala</sourceDirectory> > <testSourceDirectory>src/test/scala</testSourceDirectory> > <plugins> > <plugin> > <groupId>org.scala-tools</groupId> > <artifactId>maven-scala-plugin</artifactId> > <version>${maven-scala-plugin.version}</version> > <executions> > <execution> > <goals> > <goal>compile</goal> > <goal>testCompile</goal> > </goals> > </execution> > </executions> > <configuration> > <jvmArgs> > <jvmArg>-Xms64m</jvmArg> > <jvmArg>-Xmx1024m</jvmArg> > </jvmArgs> > </configuration> > </plugin> > <plugin> > <groupId>org.apache.maven.plugins</groupId> > <artifactId>maven-shade-plugin</artifactId> > <version>1.6</version> > <executions> > <execution> > <phase>package</phase> > <goals> > <goal>shade</goal> > </goals> > <configuration> > <filters> > <filter> > > <artifact>*:*</artifact> > > <excludes> > > <exclude>META-INF/*.SF</exclude> > > <exclude>META-INF/*.DSA</exclude> > > <exclude>META-INF/*.RSA</exclude> > > </excludes> > </filter> > </filters> > <transformers> > <transformer > > implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer"> > > <mainClass>com.group.id.Launcher1</mainClass> > </transformer> > </transformers> > </configuration> > </execution> > </executions> > </plugin> > </plugins> > </build> > > <artifactId>scala</artifactId> > </project> > > >> On Mar 15, 2016, at 12:09 PM, Mich Talebzadeh <mich.talebza...@gmail.com >> <mailto:mich.talebza...@gmail.com>> wrote: >> >> Ok. >> >> Sounds like opinion is divided :) >> >> I will try to build a scala app with Maven. >> >> When I build with SBT I follow this directory structure >> >> High level directory the package name like >> >> ImportCSV >> >> under ImportCSV I have a directory src and the sbt file ImportCSV.sbt >> >> in directory src I have main and scala subdirectories. My scala file is in >> >> ImportCSV/src/main/scala >> >> called ImportCSV.scala >> >> I then have a shell script that runs everything under ImportCSV directory >> >> cat generic.ksh >> #!/bin/ksh >> #-------------------------------------------------------------------------------- >> # >> # Procedure: generic.ksh >> # >> # Description: Compiles and run scala app usinbg sbt and spark-submit >> # >> # Parameters: none >> # >> #-------------------------------------------------------------------------------- >> # Vers| Date | Who | DA | Description >> #-----+--------+-----+----+----------------------------------------------------- >> # 1.0 |04/03/15| MT | | Initial Version >> #-------------------------------------------------------------------------------- >> # >> function F_USAGE >> { >> echo "USAGE: ${1##*/} -A '<Application>'" >> echo "USAGE: ${1##*/} -H '<HELP>' -h '<HELP>'" >> exit 10 >> } >> # >> # Main Section >> # >> if [[ "${1}" = "-h" || "${1}" = "-H" ]]; then >> F_USAGE $0 >> fi >> ## MAP INPUT TO VARIABLES >> while getopts A: opt >> do >> case $opt in >> (A) APPLICATION="$OPTARG" ;; >> (*) F_USAGE $0 ;; >> esac >> done >> [[ -z ${APPLICATION} ]] && print "You must specify an application value " && >> F_USAGE $0 >> ENVFILE=/home/hduser/dba/bin/environment.ksh >> if [[ -f $ENVFILE ]] >> then >> . $ENVFILE >> . ~/spark_1.5.2_bin-hadoop2.6.kshrc >> else >> echo "Abort: $0 failed. No environment file ( $ENVFILE ) found" >> exit 1 >> fi >> ##FILE_NAME=`basename $0 .ksh` >> FILE_NAME=${APPLICATION} >> CLASS=`echo ${FILE_NAME}|tr "[:upper:]" "[:lower:]"` >> NOW="`date +%Y%m%d_%H%M`" >> LOG_FILE=${LOGDIR}/${FILE_NAME}.log >> [ -f ${LOG_FILE} ] && rm -f ${LOG_FILE} >> print "\n" `date` ", Started $0" | tee -a ${LOG_FILE} >> cd ../${FILE_NAME} >> print "Compiling ${FILE_NAME}" | tee -a ${LOG_FILE} >> sbt package >> print "Submiiting the job" | tee -a ${LOG_FILE} >> >> ${SPARK_HOME}/bin/spark-submit \ >> --packages com.databricks:spark-csv_2.11:1.3.0 \ >> --class "${FILE_NAME}" \ >> --master spark://50.140.197.217:7077 >> <http://50.140.197.217:7077/> \ >> --executor-memory=12G \ >> --executor-cores=12 \ >> --num-executors=2 \ >> target/scala-2.10/${CLASS}_2.10-1.0.jar >> print `date` ", Finished $0" | tee -a ${LOG_FILE} >> exit >> >> >> So to run it for ImportCSV all I need is to do >> >> ./generic.ksh -A ImportCSV >> >> Now can anyone kindly give me a rough guideline on directory and location of >> pom.xml to make this work using maven? >> >> Thanks >> >> >> Dr Mich Talebzadeh >> >> LinkedIn >> https://www.linkedin.com/profile/view?id=AAEAAAAWh2gBxianrbJd6zP6AcPCCdOABUrV8Pw >> >> <https://www.linkedin.com/profile/view?id=AAEAAAAWh2gBxianrbJd6zP6AcPCCdOABUrV8Pw> >> >> http://talebzadehmich.wordpress.com <http://talebzadehmich.wordpress.com/> >> >> >> On 15 March 2016 at 10:50, Sean Owen <so...@cloudera.com >> <mailto:so...@cloudera.com>> wrote: >> FWIW, I strongly prefer Maven over SBT even for Scala projects. The >> Spark build of reference is Maven. >> >> On Tue, Mar 15, 2016 at 10:45 AM, Chandeep Singh <c...@chandeep.com >> <mailto:c...@chandeep.com>> wrote: >> > For Scala, SBT is recommended. >> > >> > On Mar 15, 2016, at 10:42 AM, Mich Talebzadeh <mich.talebza...@gmail.com >> > <mailto:mich.talebza...@gmail.com>> >> > wrote: >> > >> > Hi, >> > >> > I build my Spark/Scala packages using SBT that works fine. I have created >> > generic shell scripts to build and submit it. >> > >> > Yesterday I noticed that some use Maven and Pom for this purpose. >> > >> > Which approach is recommended? >> > >> > Thanks, >> > >> > >> > Dr Mich Talebzadeh >> > >> > >> > >> > LinkedIn >> > https://www.linkedin.com/profile/view?id=AAEAAAAWh2gBxianrbJd6zP6AcPCCdOABUrV8Pw >> > >> > <https://www.linkedin.com/profile/view?id=AAEAAAAWh2gBxianrbJd6zP6AcPCCdOABUrV8Pw> >> > >> > >> > >> > http://talebzadehmich.wordpress.com <http://talebzadehmich.wordpress.com/> >> > >> > >> > >> > >> > >