Spark submit files - Sep 22, 2020 · I am figuring out how to submit pyspark job developed using pycharm ide . there are 4 python files and 1 python file is main python file which is submitted with pyspark job but rest other 3 files are imported in main python file , but I am not able to understand if my python files all are available in s3 bukcet , how spark job would be able to r...

 
Spark-Submit Compatibility. You can use spark-submit compatible options to run your applications using Data Flow. Spark-submit is an industry standard command for running applications on Spark clusters. The following spark-submit compatible options are supported by Data Flow: --conf. --files. --py-files. --jars.. Pfsense user permissions

Jul 21, 2018 · But when I copy the same to my properties file: spark.class MyClass spark.master spark://my_master spark.files test.config spark.jars build/jars/MyProject.jar, build/jars/Config.jar On trying to use this file with spark-submit, I get an error: java.lang.IllegalArgumentException: Missing application resource Apr 12, 2021 · I have an AWS CLI cluster creation command that I am trying to modify so that it enables my driver and executor to work with a customized log4j.properties file. With Spark stand-alone clusters I have successfully used the approach of using the --files <log4j.file> switch together with setting -Dlog4j.configuration=<log4j.file> specified via ... To download the log files for an application, issue the spark-submit.sh command with the --download-app-logs option. Display the contents of a single log file: To display the contents of a single cluster log file, issue the spark-submit.sh command with the --display-cluster-log option.To download the log files for an application, issue the spark-submit.sh command with the --download-app-logs option. Display the contents of a single log file: To display the contents of a single cluster log file, issue the spark-submit.sh command with the --display-cluster-log option.Using addPyFiles() seems to not be adding desiered files to spark job nodes (new to spark so may be missing some basic usage knowledge here). Attempting to run a script using pyspark and was seeing errors that certain modules are not found for import. java.io.FileNotFoundException for a file sent in Spark-submit --files. 1. How to pass arguments to spark-submit using docker. 0. Running Scala Jar with Spark-Submit. 4.Spark-submit can't locate local file. Ask Question Asked 5 years, 10 months ago. Modified 5 years, 10 months ago. Viewed 8k times 2 I've written a very simple python ...Jul 21, 2020 · For the 5th process I am using a spark-submit command as this process needs to leverage spark because of the size of the data being processed. I am running into issues with JDBC and Kerberos Authnetication with the spark-submit command. The Oracle @Configuration is the same for all of these processes. It works fine and authenticates fine with a ... Jun 29, 2015 · I want to store the Spark arguments such as input file, output file into a Java property files and pass that file into Spark Driver. I'm using spark-submit for submitting the job but couldn't find a parameter to pass the properties file. For the 5th process I am using a spark-submit command as this process needs to leverage spark because of the size of the data being processed. I am running into issues with JDBC and Kerberos Authnetication with the spark-submit command. The Oracle @Configuration is the same for all of these processes. It works fine and authenticates fine with a ...On Kubernetes I'm having an issue: files uploaded via --files can't be read by Spark Driver. On Yarn, as described in many answers I can read those files using Source.fromFile(filename) . But I can't read files in Spark on Kubernetes.The spark-submit command is a utility to run or submit a Spark or PySpark application program (or job) to the cluster by specifying options and configurations, the application you are submitting can be written in Scala, Java, or Python (PySpark). spark-submit command supports the following. For Python, you can use the --py-files argument of spark-submit to add .py, .zip or .egg files to be distributed with your application. If you depend on multiple Python files we recommend packaging them into a .zip or .egg. Launching Applications with spark-submit. Once a user application is bundled, it can be launched using the bin/spark ...The Spark shell and spark-submit tool support two ways to load configurations dynamically. The first are command line options, such as --master, as shown above. spark-submit can accept any Spark property using the --conf flag, but uses special flags for properties that play a part in launching the Spark application.Nov 4, 2014 · 0. spark-submit is a utility to submit your spark program (or job) to Spark clusters. If you open the spark-submit utility, it eventually calls a Scala program. org.apache.spark.deploy.SparkSubmit. On the other hand, pyspark or spark-shell is REPL ( read–eval–print loop) utility which allows the developer to run/execute their spark code as ... Using addPyFiles() seems to not be adding desiered files to spark job nodes (new to spark so may be missing some basic usage knowledge here). Attempting to run a script using pyspark and was seeing errors that certain modules are not found for import. Feb 12, 2020 · Imagine how to configure the network communication between your machine and Spark Pods in Kubernetes: in order to pull your local jars Spark Pod should be able to access you machine (probably you need to run web-server locally and expose its endpoints), and vice-versa in order to push jar from you machine to the Spark Pod your spark-submit ... The easiest way to set some config: spark.conf.set ("spark.sql.shuffle.partitions", 500). Where spark refers to a SparkSession, that way you can set configs at runtime. It's really useful when you want to change configs again and again to tune some spark parameters for specific queries. Share.For deploy-mode cluster. As previous answers mentioned, if you want to pass env variable to spark master, you want to use: --conf spark.yarn.appMasterEnv.FOO=bar // pass bar value to FOO variable --conf spark.yarn.appMasterEnv.FOO=$ {FOO} // passing current FOO env variable --conf spark.yarn.appMasterEnv.FOO2=bar2 // multiple variables are ...3 Answers. No, spark-submit --files option doesn't support sending folder, but you can put all your files in a zip, use that file in --files list. You can use SparkFiles.get (filename) in your spark job to load the file, explode it and use exploded files. 'filename' doesn't need to be absolute path, just filename does it.Spark environment provides a command to execute the application file, be it in Scala or Java(need a Jar format), Python and R programming file. The command is, $ spark-submit --master <url> <SCRIPTNAME>.py. I'm running spark in windows 64bit architecture system with JDK 1.8 version. P.S find a screenshot of my terminal window. Code snippetFor Python, you can use the --py-files argument of spark-submit to add .py, .zip or .egg files to be distributed with your application. If you depend on multiple Python files we recommend packaging them into a .zip or .egg. Launching Applications with spark-submit. Once a user application is bundled, it can be launched using the bin/spark ... spark_submit.system_info(): Collects Spark related system information, such as versions of spark-submit, Scala, Java, PySpark, Python and OS. spark_submit.SparkJob.kill(): Kills the running Spark job (cluster mode only) spark_submit.SparkJob.get_code(): Gets the spark-submit return code. spark_submit.SparkJob.get_output(): Gets the spark-submit ...I have a CSV file "test.csv" that I'm trying to have copied to all nodes on the cluster. I have a 4 node apache-spark 1.5.2 standalone cluster.Spark submit command ( spark-submit ) can be used to run your Spark applications in a target environment (standalone, YARN, Kubernetes, Mesos).&nbsp; There are three commonly used arguments: --num-executors&nbsp; --executor-cores&nbsp; --executor-memory . This argument only works on YARN and ...On Kubernetes I'm having an issue: files uploaded via --files can't be read by Spark Driver. On Yarn, as described in many answers I can read those files using Source.fromFile(filename) . But I can't read files in Spark on Kubernetes.But configuration file is imported in some other python file that is not entry point for spark application . I want to write spark submit command in pyspark , but I am not sure how to provide multiple files along configuration file with spark submit command when configuration file is not python file but text file or ini file. Spark-submit can't locate local file. Ask Question Asked 5 years, 10 months ago. Modified 5 years, 10 months ago. Viewed 8k times 2 I've written a very simple python ...I have an AWS CLI cluster creation command that I am trying to modify so that it enables my driver and executor to work with a customized log4j.properties file. With Spark stand-alone clusters I have successfully used the approach of using the --files <log4j.file> switch together with setting -Dlog4j.configuration=<log4j.file> specified via ...May 5, 2016 · I have a CSV file "test.csv" that I'm trying to have copied to all nodes on the cluster. I have a 4 node apache-spark 1.5.2 standalone cluster. There are 4 workers where one node also acts has mas... Spark submit command ( spark-submit ) can be used to run your Spark applications in a target environment (standalone, YARN, Kubernetes, Mesos).&nbsp; There are three commonly used arguments: --num-executors&nbsp; --executor-cores&nbsp; --executor-memory . This argument only works on YARN and ...Nov 4, 2014 · 0. spark-submit is a utility to submit your spark program (or job) to Spark clusters. If you open the spark-submit utility, it eventually calls a Scala program. org.apache.spark.deploy.SparkSubmit. On the other hand, pyspark or spark-shell is REPL ( read–eval–print loop) utility which allows the developer to run/execute their spark code as ... Submit Spark workload by submitting Spark batch applications by using the cluster management console, RESTful APIs, or the CLI. A Spark batch application is launched by only the spark-submit command from the following ways: cluster management console (immediately or by scheduling the submission). ascd Spark application RESTful APIs. But when I copy the same to my properties file: spark.class MyClass spark.master spark://my_master spark.files test.config spark.jars build/jars/MyProject.jar, build/jars/Config.jar On trying to use this file with spark-submit, I get an error: java.lang.IllegalArgumentException: Missing application resource1. I have a SPARK cluster with Yarn, and I want to put my job's jar into a S3 100% compatible Object Store. If I want to submit the job, I search from google and seems that just simply as this way: spark-submit --master yarn --deploy-mode cluster <...other parameters...> s3://my_ bucket/jar_file However the S3 Object Store required user name ...To do so, specify the spark properties spark.kubernetes.driver.podTemplateFile and spark.kubernetes.executor.podTemplateFile to point to local files accessible to the spark-submit process. To allow the driver pod access the executor pod template file, the file will be automatically mounted onto a volume in the driver pod when it’s created.In case if you wanted to run a PySpark application using spark-submit from a shell, use the below example. Specify the .py file you wanted to run and you can also specify the .py, .egg, .zip file to spark submit command using --py-files option for any dependencies. ./bin/spark-submit \ --master yarn \ --deploy-mode cluster \ wordByExample.py.When I spark-submit the pyspark code on the master node, the job gets completed successfully and the output is stored in the log files on the S3 bucket. However, when I spark-submit the pyspark code on the S3 bucket using these- (using the below commands on the terminal after SSH-ing to the master node)Apr 19, 2023 · Python manager for spark-submit jobs. Spark-submit. TL;DR: Python manager for spark-submit jobs Description. This package allows for submission and management of Spark jobs in Python scripts via Apache Spark's spark-submit functionality. Dec 18, 2020 · With Spark 3.4, spark.files, spark.jars, and spark.pyfiles all are placed in the current working directory of Driver & Executor while using K8s resource manager. With 3.5 all these will be available on classpath as well. Using PySpark Native Features ¶. PySpark allows to upload Python files ( .py ), zipped Python packages ( .zip ), and Egg files ( .egg ) to the executors by one of the following: Setting the configuration setting spark.submit.pyFiles. Setting --py-files option in Spark scripts. Directly calling pyspark.SparkContext.addPyFile () in applications.Setting the spark-submit flags is one of the ways to dynamically supply configurations to the SparkContext object that is instantiated in the driver. spark-submit can also read configuration values set in the conf/spark-defaults.conf file which you can set using EMR configuration options when creating your cluster and, although not recommended, ...Aug 4, 2021 · Spark environment provides a command to execute the application file, be it in Scala or Java(need a Jar format), Python and R programming file. The command is, $ spark-submit --master <url> <SCRIPTNAME>.py. I'm running spark in windows 64bit architecture system with JDK 1.8 version. P.S find a screenshot of my terminal window. Code snippet When you wanted to spark-submit a PySpark application (Spark with Python), you need to specify the .py file you wanted to run and specify the .egg file or .zip file for dependency libraries. Below are some of the options & configurations specific to run pyton (.py) file with spark submit. besides these, you can also use most of the options ...spark.yarn.submit.file.replication: The default HDFS replication (usually 3) HDFS replication level for the files uploaded into HDFS for the application. These include things like the Spark jar, the app jar, and any distributed cache files/archives. spark.yarn.stagingDir: Current user's home directory in the filesystem For Python, you can use the --py-files argument of spark-submit to add .py, .zip or .egg files to be distributed with your application. If you depend on multiple Python files we recommend packaging them into a .zip or .egg. Launching Applications with spark-submit. Once a user application is bundled, it can be launched using the bin/spark ...This is a JSON protocol to submit Spark application, to submit Spark application to cluster manager, we should use HTTP POST request to send above JSON protocol to Livy Server: curl -H "Content-Type: application/json" -X POST -d ‘<JSON Protocol>’ <livy-host>:<port>/batches. As you can see most of the arguments are the same, but there still ...--py-files PY_FILES Comma-separated list of .zip, .egg, or .py files to place on the PYTHONPATH for Python apps. So your command will look as follow spark-submit --master local --driver-memory 2g --executor-memory 2g --py-files s3_path\file2.py,s3_path\file3.py,s3_path\file4.py s3_path\file1.pyspark-submit --master yarn --jars <comma-separated-jars> --conf <spark-properties> --name <job_name> <python_file> <argument 1> <argument 2> eg: spark-submit --master yarn --jars example.jar --conf spark.executor.instances=10 --name example_job example.py arg1 arg2 For mnistOnSpark.py you should pass arguments as mentioned in the command above ...Spark-submit can't locate local file. Ask Question Asked 5 years, 10 months ago. Modified 5 years, 10 months ago. Viewed 8k times 2 I've written a very simple python ...Spark on Kubernetes doesn't support submitting locally stored files with spark-submit.When you wanted to spark-submit a PySpark application (Spark with Python), you need to specify the .py file you wanted to run and specify the .egg file or .zip file for dependency libraries. Below are some of the options & configurations specific to run pyton (.py) file with spark submit. besides these, you can also use most of the options ... Now that I am trying to run this on a cluster, I think I need to use spark-submit, to which I thought would be: spark-submit --conf spark.neo4j.bolt.password=Stuffffit --packages neo4j-contrib:neo4j-spark-connector:2.0.0-M2,graphframes:graphframes:0.2.0-spark2.0-s_2.11 -i neo4jsparkCluster.scala but it does not like the .scala file, somehow ...2. In my Spark job I read some additional data from resources files. Some example Resources.getResource ("/more-data") It works great locally, and when I run from spark-submit master=local [*] I only to need to add --conf=spark.driver.extraClassPath=moredata. Moving to cluster mode (Yarn) it is no longer able to find the folder.1 You could put the file on a network mount that is accessible by all the nodes on the cluster. This way you can just read from that mount in your driver program. You could expose a simple endpoint that returns the file. This way your driver program can make an http call. – Alex Naspo Jan 20, 2016 at 20:39 True enough, @AlexNaspo, but redundant. For deploy-mode cluster. As previous answers mentioned, if you want to pass env variable to spark master, you want to use: --conf spark.yarn.appMasterEnv.FOO=bar // pass bar value to FOO variable --conf spark.yarn.appMasterEnv.FOO=$ {FOO} // passing current FOO env variable --conf spark.yarn.appMasterEnv.FOO2=bar2 // multiple variables are ... For Python, you can use the --py-files argument of spark-submit to add .py, .zip or .egg files to be distributed with your application. If you depend on multiple Python files we recommend packaging them into a .zip or .egg. Launching Applications with spark-submit. Once a user application is bundled, it can be launched using the bin/spark ...Submit Spark workload by submitting Spark batch applications by using the cluster management console, RESTful APIs, or the CLI. A Spark batch application is launched by only the spark-submit command from the following ways: cluster management console (immediately or by scheduling the submission). ascd Spark application RESTful APIs.Jul 24, 2022 · Note that files passed through --files and --archives are available for Spark executors only. This behavior is consistent with spark-submit. If you need the files to be accessible by Spark driver, consider using an init action to put the files somewhere in the local filesystem explictly. On Kubernetes I'm having an issue: files uploaded via --files can't be read by Spark Driver. On Yarn, as described in many answers I can read those files using Source.fromFile(filename) . But I can't read files in Spark on Kubernetes.1 Answer. One way is to have a main driver program for your Spark application as a python file (.py) that gets passed to spark-submit. This primary script has the main method to help the Driver identify the entry point. This file will customize configuration properties as well initialize the SparkContext. The ones bundled in the egg executables ...For Python, you can use the --py-files argument of spark-submit to add .py, .zip or .egg ...Mar 26, 2017 · The easiest way to set some config: spark.conf.set ("spark.sql.shuffle.partitions", 500). Where spark refers to a SparkSession, that way you can set configs at runtime. It's really useful when you want to change configs again and again to tune some spark parameters for specific queries. Share. spark.yarn.submit.file.replication: The default HDFS replication (usually 3) HDFS replication level for the files uploaded into HDFS for the application. These include things like the Spark jar, the app jar, and any distributed cache files/archives. spark.yarn.stagingDir: Current user's home directory in the filesystem Apr 19, 2023 · Python manager for spark-submit jobs. Spark-submit. TL;DR: Python manager for spark-submit jobs Description. This package allows for submission and management of Spark jobs in Python scripts via Apache Spark's spark-submit functionality. Jul 24, 2022 · Note that files passed through --files and --archives are available for Spark executors only. This behavior is consistent with spark-submit. If you need the files to be accessible by Spark driver, consider using an init action to put the files somewhere in the local filesystem explictly. Dec 25, 2014 · This will let you create an .egg file which is similar to java jar file. You can then specify the path of this egg file using --py-files. spark-submit --py-files path_to_egg_file path_to_spark_driver_file. Create zip files (example- abc.zip) containing all your dependencies. So, I am trying to redirect the output of an apache spark-submit command to text file but some output fails to populate file. Here is the command I am using: spark-submit something.py > results.txt I can see the output in the terminal but I do not see it in the file. What am I forgetting or doing wrong here? Edit: If I useJun 23, 2020 · Pass system property to spark-submit and read file from classpath or custom path. 2 adding external property file to classpath in spark. 0 ... Nov 9, 2017 · As suspected, the two options ( sc.addFile and --files) are not equivalent, and this is (admittedly very subtly) hinted at the documentation (emphasis added): addFile (path, recursive=False) Add a file to be downloaded with this Spark job on every node. --files FILES. Comma-separated list of files to be placed in the working directory of each ... Once application is built, spark-submit command is called to submit the application to run in a Spark environment. Use --jars option. To add JARs to a Spark job, --jars option can be used to include JARs on Spark driver and executor classpaths. If multiple JAR files need to be included, use comma to separate them. The following is an example:for me, run spark on yarn,just add --files log4j.properties makes everything ok. 1. make sure the directory where you run spark-submit contains file "log4j.properties". 2. run spark-submit ... --files log4j.properties. let's see why this work. 1.spark-submit will upload log4j.properties to hdfs like this Jun 30, 2016 · 1 Answer. One way is to have a main driver program for your Spark application as a python file (.py) that gets passed to spark-submit. This primary script has the main method to help the Driver identify the entry point. This file will customize configuration properties as well initialize the SparkContext. The ones bundled in the egg executables ... For a comprehensive list of all configurations that can be passed with spark-submit, just run spark-submit --help. In this link provided by @suj1th, they say that: configuration values explicitly set on a SparkConf take the highest precedence, then flags passed to spark-submit, then values in the defaults file. Spark environment provides a command to execute the application file, be it in Scala or Java(need a Jar format), Python and R programming file. The command is, $ spark-submit --master <url> <SCRIPTNAME>.py. I'm running spark in windows 64bit architecture system with JDK 1.8 version. P.S find a screenshot of my terminal window. Code snippetMay 12, 2020 · Spark on Kubernetes doesn't support submitting locally stored files with spark-submit. rdd = sc.textFile ("file:///path/to/file") If your file isn’t already on all nodes in the cluster, you can load it locally on the driver without going through Spark and then call parallelize to distribute the contents to workers. Take care to put file:// in front and the use of "/" or "\" according to OS. Share.using the --files option to copy a text file "foo.txt" (which is located in the project root) from the "submitting" Windows machine (which is also running Spark 1.6.0 and Scala 2.10.5) to the working directories of executors (as described by spark-submit -h) passing the textfile as first argument to my application1. --files comma-separated files list. Comma-separated list of files that are deposited in the working directory of each and every Executor using YARN Cluster Mode if memory serves correctly. Use case is (although never used myself) is configuration info that you can read in as opposed to using args [x] approach. Share.spark-submit 用户打包 Spark 应用程序并部署到 Spark 支持的集群管理气上,命令语法如下:. spark-submit [options] <python file> [app arguments] app arguments 是传递给应用程序的参数,常用的命令行参数如下所示:. –master: 设置主节点 URL 的参数。. 支持:. local: 本地机器 ...command options. You specify spark-submit options using the form --option value instead of --option=value . (Use a space instead of an equals sign.) Option. Description. class. For Java and Scala applications, the fully qualified classname of the class containing the main method of the application. For example, org.apache.spark.examples.SparkPi. Jun 23, 2020 · Pass system property to spark-submit and read file from classpath or custom path. 2 adding external property file to classpath in spark. 0 ...

I am trying to submit a spark job using 'gcloud dataproc jobs submit spark'. To connect to ES cluster I need to pass the truststore path. The job is successful if I copy the truststore file to all the worker nodes and give the absolute path as below:. X tube

spark submit files

Submit Spark workload by submitting Spark batch applications by using the cluster management console, RESTful APIs, or the CLI. A Spark batch application is launched by only the spark-submit command from the following ways: cluster management console (immediately or by scheduling the submission). ascd Spark application RESTful APIs. Spark on Kubernetes doesn't support submitting locally stored files with spark-submit.For Python, you can use the --py-files argument of spark-submit to add .py, .zip or .egg files to be distributed with your application. If you depend on multiple Python files we recommend packaging them into a .zip or .egg. Launching Applications with spark-submit. Once a user application is bundled, it can be launched using the bin/spark ...Dec 12, 2021 · These config files will give information to Spark about the EMR cluster like which is the master node, resource manager, and hive metastore to connect to on running spark-submit. Store the config ... Sep 22, 2020 · I am figuring out how to submit pyspark job developed using pycharm ide . there are 4 python files and 1 python file is main python file which is submitted with pyspark job but rest other 3 files are imported in main python file , but I am not able to understand if my python files all are available in s3 bukcet , how spark job would be able to r... For deploy-mode cluster. As previous answers mentioned, if you want to pass env variable to spark master, you want to use: --conf spark.yarn.appMasterEnv.FOO=bar // pass bar value to FOO variable --conf spark.yarn.appMasterEnv.FOO=$ {FOO} // passing current FOO env variable --conf spark.yarn.appMasterEnv.FOO2=bar2 // multiple variables are ... Pass system property to spark-submit and read file from classpath or custom path. 2 adding external property file to classpath in spark. 0 ...Jul 21, 2020 · For the 5th process I am using a spark-submit command as this process needs to leverage spark because of the size of the data being processed. I am running into issues with JDBC and Kerberos Authnetication with the spark-submit command. The Oracle @Configuration is the same for all of these processes. It works fine and authenticates fine with a ... for me, run spark on yarn,just add --files log4j.properties makes everything ok. 1. make sure the directory where you run spark-submit contains file "log4j.properties". 2. run spark-submit ... --files log4j.properties. let's see why this work. 1.spark-submit will upload log4j.properties to hdfs like this 6,344 24 92 174 Add a comment 2 Answers Sorted by: 8 You can use --properties-file which should include parameters with starting keyword spark like spark.driver.memory 5g spark.executor.memory 10g And command should look like:I want to submit a pyspark task. And some .py files in different folders.Especially I want put configuration files and common tools in only one folder. But when I submit a pyspark task, I just know --py-files param, so how to submit folders? My code struct likes:The spark-submit command is a utility to run or submit a Spark or PySpark application program (or job) to the cluster by specifying options and configurations, the application you are submitting can be written in Scala, Java, or Python (PySpark). spark-submit command supports the following. Jul 24, 2022 · Note that files passed through --files and --archives are available for Spark executors only. This behavior is consistent with spark-submit. If you need the files to be accessible by Spark driver, consider using an init action to put the files somewhere in the local filesystem explictly. Oct 23, 2020 · Yeah I added another parameter. It was Spark-submit --py-files wheelfile driver.py This driver was calling the function inside wheelfile. But then this driver and wheel are in same location essentially. What is the use of wheel then? Because if I run the command with spark-submit driver.py . Then also its the same Right?? – For deploy-mode cluster. As previous answers mentioned, if you want to pass env variable to spark master, you want to use: --conf spark.yarn.appMasterEnv.FOO=bar // pass bar value to FOO variable --conf spark.yarn.appMasterEnv.FOO=$ {FOO} // passing current FOO env variable --conf spark.yarn.appMasterEnv.FOO2=bar2 // multiple variables are ...But configuration file is imported in some other python file that is not entry point for spark application . I want to write spark submit command in pyspark , but I am not sure how to provide multiple files along configuration file with spark submit command when configuration file is not python file but text file or ini file.In case if you wanted to run a PySpark application using spark-submit from a shell, use the below example. Specify the .py file you wanted to run and you can also specify the .py, .egg, .zip file to spark submit command using --py-files option for any dependencies. ./bin/spark-submit \ --master yarn \ --deploy-mode cluster \ wordByExample.py..

Popular Topics