Spark submit py files - Apr 7, 2016 · 971 1 11 26 5 Apparently, the problem lies in the fact, that Python cannot import .so modules from .zip files ( docs.python.org/2/library/zipimport.html ). This means I need to somehow unpack the zipfile on all the workers and then add the unpack location to the sys.path on all the workers. I'll try it out and see how it goes. – Andrej Palicka

 
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. For third-party Python dependencies, see Python Package Management. Launching Applications with spark-submit. An artist sells a painting for dollar20.50

Missing application resource while running script in pyspark. I have been trying to execute a script .py by pyspark but I keep getting this error: 11:55 $ ./bin/spark-submit --jars spark-cassandra-connector-2.0.0-M2-s_2.11.jar --py-files example.py Exception in thread "main" java.lang.IllegalArgumentException: Missing application resource. at ...Sep 24, 2020 · 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. Dec 12, 2022 · To set the JAR files that should be included in your PySpark application, you can use the spark-submit command with the --jars option. For example, to include multiple JAR files in your PySpark ... Nov 24, 2022 · When you access files in the archive that are passed via --archives parameter to Spark job, you do not need to specify full path to these files, instead you need to use current working directory (.). In your specific case it probably will be ./config/config.yaml (depends on folder structure inside your archive). Jun 7, 2022 · 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. Share Improve this answer Jun 25, 2021 · spark-submit command with --py-files fails if the driver class path or executor class path is not set Load 7 more related questions Show fewer related questions 0 Apr 20, 2016 · I solved this problem with the help from BiS's answer. By adding the four configuration values when running spark-submit, it fixed the egg problem. Nov 8, 2017 · My start script is main.py which in turn call logic function in the logic.py file. I am running my project like spark-submit main.py. My question is do i need to mention other .py files in the spark-submit command or they automaticlly get imported. I come accross a post which mention to zip the src folder and pass it as argument in --py-files. setting spark.submit.pyFiles states only that you want to add them to PYTHONPATH. But apart of that you need to upload those files to all your executors working directory . You can do that with spark.filesFor 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 ...Nov 8, 2017 · My start script is main.py which in turn call logic function in the logic.py file. I am running my project like spark-submit main.py. My question is do i need to mention other .py files in the spark-submit command or they automaticlly get imported. I come accross a post which mention to zip the src folder and pass it as argument in --py-files. Apr 20, 2016 · I solved this problem with the help from BiS's answer. By adding the four configuration values when running spark-submit, it fixed the egg problem. 3. Assuming you have a zip file made as. zip -r modules. I think that you are missing to attach this file to spark context, you can use addPyFile () function in the script as. sc.addPyFile ("modules.zip") Also, Dont forget to make make empty __init__.py file at root level in your directory (modules.zip) like modules/__init__.py ) Now to Import ...I am not using sc.addFile() function instead passing python files with --py-file option with spark submit . when i run spark submit command and providing python files with --py-files does still import statement are required once application is initialized ( spark session) .One straightforward method is to use script options such as --py-files or the spark.submit.pyFiles configuration, but this functionality cannot cover many cases, such as installing wheel files or when the Python libraries are dependent on C and C++ libraries such as pyarrow and NumPy.Oct 23, 2020 · 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? 0. A way around the problem is that you can create a temporary SparkContext simply by calling SparkContext.getOrCreate () and then read the file you passed in the --files with the help of SparkFiles.get ('FILE'). Once you read the file retrieve all necessary configuration you required in a SparkConf () variable. One straightforward method is to use script options such as --py-files or the spark.submit.pyFiles configuration, but this functionality cannot cover many cases, such as installing wheel files or when the Python libraries are dependent on C and C++ libraries such as pyarrow and NumPy.Apr 20, 2016 · I solved this problem with the help from BiS's answer. By adding the four configuration values when running spark-submit, it fixed the egg problem. 4. create Python package to organize the code. zip package or create egg file. submit your app passing egg or zip file to --py-files / sc.pyFiles. Share. Improve this answer. Follow. answered Nov 14, 2016 at 4:49. community wiki. The --files and --archives options support specifying file names with the #, just like Hadoop.. For example you can specify: --files localtest.txt#appSees.txt and this will upload the file you have locally named localtest.txt into Spark worker directory, but this will be linked to by the name appSees.txt, and your application should use the name as appSees.txt to reference it when running on YARN.4. create Python package to organize the code. zip package or create egg file. submit your app passing egg or zip file to --py-files / sc.pyFiles. Share. Improve this answer. Follow. answered Nov 14, 2016 at 4:49. community wiki.4. create Python package to organize the code. zip package or create egg file. submit your app passing egg or zip file to --py-files / sc.pyFiles. Share. Improve this answer. Follow. answered Nov 14, 2016 at 4:49. community wiki. 3. Assuming you have a zip file made as. zip -r modules. I think that you are missing to attach this file to spark context, you can use addPyFile () function in the script as. sc.addPyFile ("modules.zip") Also, Dont forget to make make empty __init__.py file at root level in your directory (modules.zip) like modules/__init__.py ) Now to Import ... This is late, but it's the first result @ google I found with this problem... the previous answer is helpful (i wanted to know which env vars I had to modify), but please DONT modify editing Spark sources, just change environment variables using the proper tools, add this to your spark.conf variables...Aug 31, 2021 · Below is a sample structure of a directory that contains all the Python scripts (.py files) that you want to load to a Spark job using .addPyFile method or --py-files option when run the job using spark-submit. example_package ├── script1.py ├── script2.py ├── sub_package1 │ └── script3.py └── sub_package2 ... The purpose is not depend upon spark cluster for a specific python runtime (e.g. spark cluster has python 3.5 version and my code needs 3.7 version) or a library that is not installed on the cluster. I found it was possible to submit a python file as well as for .jar file.Jun 4, 2017 · Usage: spark-submit --status [submission ID] --master [spark://...] Usage: spark-submit run-example [options] example-class [example args] As you can see in the first Usage spark-submit requires <app jar | python file>. The app jar argument is a Spark application's jar with the main object (SimpleApp in your case). You can build the app jar ... Jul 20, 2021 · First I created virtual environment pyspark_venv.tar.gz that includes yaml module and past it to spark-submit as follows ... py", line 22, in <module> File "/tmp ... 1. spark-submit in this case pyspark always requires a python file to run (specifically driver.py), py-files are only libraries you want to attach to your spark job and are possibly used inside driver.py. If you want to make it works, make sure driver.py exists in current location which you trigger spark-submit.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. Jul 9, 2020 · However, Spark Configuration page says that the files placed in the working directory of each executor. So I don't understand why the job doesn't see jaas.conf. So I don't understand why the job doesn't see jaas.conf. Submit Python Application to Spark. To submit the above Spark Application to Spark for running, Open a Terminal or Command Prompt from the location of wordcount.py, and run the following command : $ spark-submit wordcount.py Jul 5, 2018 · setting spark.submit.pyFiles states only that you want to add them to PYTHONPATH. But apart of that you need to upload those files to all your executors working directory . You can do that with spark.files 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. for demonstration: 4 python files : file1.py , file2.py , file3.py . file4.py. 1 configuration file : conf.txtNov 8, 2017 · My start script is main.py which in turn call logic function in the logic.py file. I am running my project like spark-submit main.py. My question is do i need to mention other .py files in the spark-submit command or they automaticlly get imported. I come accross a post which mention to zip the src folder and pass it as argument in --py-files. Dec 26, 2020 · Teams. Q&A for work. Connect and share knowledge within a single location that is structured and easy to search. Learn more about Teams I have four python files , out of four files 1 file has spark entry code defined and that file drives and calls rest other python files . for now I have provided four python files with --py-files option in spark submit command , but instead of submitting this way I want to create zip file and pack these all four python files and submit with ...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. Jun 7, 2022 · 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. Share Improve this answer I tried to submit a job as shown ~]$ spark-submit mnistOnSpark.py --cluster_size 10 The above job runs successfully, but runs on a single node, both the Executor and the driver are on the same machine. But I need to the job to run on multiple nodes.So I tried the below command ~]$ spark-submit --master yarn-cluster mnistOnSpark.py --cluster_size 10Below is a sample structure of a directory that contains all the Python scripts (.py files) that you want to load to a Spark job using .addPyFile method or --py-files option when run the job using spark-submit. example_package ├── script1.py ├── script2.py ├── sub_package1 │ └── script3.py └── sub_package2 ...Oct 23, 2020 · 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? 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 ... Dec 22, 2020 · One straightforward method is to use script options such as --py-files or the spark.submit.pyFiles configuration, but this functionality cannot cover many cases, such as installing wheel files or when the Python libraries are dependent on C and C++ libraries such as pyarrow and NumPy. 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. for demonstration: 4 python files : file1.py , file2.py , file3.py . file4.py. 1 configuration file : conf.txt Jan 27, 2016 · --py-files is used for providing additional dependent python files needed by your program, so that they can be placed in PYTHONPATH. I tried again following command works for me in windows/ Spark-1.6: - bin\spark-submit --master "local[4]" testingpyfiles.py May 18, 2017 · A dead end (?) I ran into: I unzipped my package to see what was in it. It was missing mysparklib. Very strange! So I changed 2 things: 1) I started running the sdist command inside the ./src folder; and 2) I changed the packages parameter to be hard-coded to include mysparklib, rather than counting on find_packages() to do the right thing Now when I unzip the tarball, it contains my package ... setting spark.submit.pyFiles states only that you want to add them to PYTHONPATH. But apart of that you need to upload those files to all your executors working directory . You can do that with spark.files4. create Python package to organize the code. zip package or create egg file. submit your app passing egg or zip file to --py-files / sc.pyFiles. Share. Improve this answer. Follow. answered Nov 14, 2016 at 4:49. community wiki. How to submit a Python file (.py) with PySpark code to Spark submit? spark-submit is used to submit the Spark applications written in Scala, Java, R, and Python to cluster. In this article, I will cover a few examples of how to submit a python (.py) file by using several options and configurations. 1. Spark Submit Python File May 14, 2021 · I have the following folder structure. I zipped the the source folder and run spark-submit with the source.zip as --py-files. My problem is, how do I read the config.hcl file from the PySpark appli... Jun 7, 2022 · 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. Share Improve this answer It turned out that since I'm submitting my application in client mode, then the machine I run the spark-submit command from will run the driver program and will need to access the module files. I added my module to the PYTHONPATH environment variable on the node I'm submitting my job from by adding the following line to my .bashrc file (or ...Sep 24, 2020 · 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. 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. for demonstration: 4 python files : file1.py , file2.py , file3.py . file4.py. 1 configuration file : conf.txtJan 10, 2013 · It requires that the "spark-submit" binary is in the PATH or the spark-home is set in the extra on the connection. :param application: The application that submitted as a job, either jar or py file. (templated) :type application: str :param conf: Arbitrary Spark configuration properties (templated) :type conf: dict :param conn_id: The ... 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 ...How to submit a Python file (.py) with PySpark code to Spark submit? spark-submit is used to submit the Spark applications written in Scala, Java, R, and Python to cluster. In this article, I will cover a few examples of how to submit a python (.py) file by using several options and configurations. 1. Spark Submit Python File Dec 20, 2017 · Specific to your question, you need to use --py-files to include python files that should be made available on the PYTHONPATH. I just ran into a similar problem where I want to run a modules main function from a module inside an egg file. The wrapper code below can be used to run main for any module via spark-submit. 0. A way around the problem is that you can create a temporary SparkContext simply by calling SparkContext.getOrCreate () and then read the file you passed in the --files with the help of SparkFiles.get ('FILE'). Once you read the file retrieve all necessary configuration you required in a SparkConf () variable. Oct 8, 2019 · part taken from spark-submit help --py-files PY_FILES Comma-separated list of .zip, .egg, or .py files to place on the PYTHONPATH for Python apps. --class CLASS_NAME Your application's main class (for Java / Scala apps). --name NAME A name of your application. --jars JARS Comma-separated list of jars to include on the driver and executor ... 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. How to submit a Python file (.py) with PySpark code to Spark submit? spark-submit is used to submit the Spark applications written in Scala, Java, R, and Python to cluster. In this article, I will cover a few examples of how to submit a python (.py) file by using several options and configurations. 1. Spark Submit Python File I have a pyspark code in a file, let's call it somePythonSQL.py I am trying to submit this to Spark using an ojdbc.jar dependency because the pysaprk actually connects to an oracle database. spark-submit --master yarn somePythonSQL.py --jars "/home/ojdbc7-12.1.0.2.jar" But I get:4. create Python package to organize the code. zip package or create egg file. submit your app passing egg or zip file to --py-files / sc.pyFiles. Share. Improve this answer. Follow. answered Nov 14, 2016 at 4:49. community wiki. You also upload these files ahead and refer them in your PySpark application. Example 1 : ./bin/spark-submit \ --master yarn \ --deploy-mode cluster \ wordByExample.py. Example 2 : Below example uses other python files as dependencies.Jan 10, 2013 · It requires that the "spark-submit" binary is in the PATH or the spark-home is set in the extra on the connection. :param application: The application that submitted as a job, either jar or py file. (templated) :type application: str :param conf: Arbitrary Spark configuration properties (templated) :type conf: dict :param conn_id: The ... 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. for demonstration: 4 python files : file1.py , file2.py , file3.py . file4.py. 1 configuration file : conf.txtOct 1, 2020 · I have four python files , out of four files 1 file has spark entry code defined and that file drives and calls rest other python files . for now I have provided four python files with --py-files option in spark submit command , but instead of submitting this way I want to create zip file and pack these all four python files and submit with ... 4. It looks like Spark is using a version of Python that does not have numpy installed. It could be because you are working inside a virtual environment. Try this: # The following is for specifying a Python version for PySpark. Here we # use the currently calling Python version.3. Assuming you have a zip file made as. zip -r modules. I think that you are missing to attach this file to spark context, you can use addPyFile () function in the script as. sc.addPyFile ("modules.zip") Also, Dont forget to make make empty __init__.py file at root level in your directory (modules.zip) like modules/__init__.py ) Now to Import ... Jul 9, 2021 · I am new to airflow and I am trying to schedule a pyspark job in airflow deployed in docker containers, here is my dag, from airflow import DAG from airflow.operators.bash_operator import BashOper... Jul 20, 2021 · First I created virtual environment pyspark_venv.tar.gz that includes yaml module and past it to spark-submit as follows ... py", line 22, in <module> File "/tmp ... 4. create Python package to organize the code. zip package or create egg file. submit your app passing egg or zip file to --py-files / sc.pyFiles. Share. Improve this answer. Follow. answered Nov 14, 2016 at 4:49. community wiki. 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. --class. --driver-java-options.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. For third-party Python dependencies, see Python Package Management. Launching Applications with spark-submit1. spark-submit in this case pyspark always requires a python file to run (specifically driver.py), py-files are only libraries you want to attach to your spark job and are possibly used inside driver.py. If you want to make it works, make sure driver.py exists in current location which you trigger spark-submit.3. Assuming you have a zip file made as. zip -r modules. I think that you are missing to attach this file to spark context, you can use addPyFile () function in the script as. sc.addPyFile ("modules.zip") Also, Dont forget to make make empty __init__.py file at root level in your directory (modules.zip) like modules/__init__.py ) Now to Import ... 3. Assuming you have a zip file made as. zip -r modules. I think that you are missing to attach this file to spark context, you can use addPyFile () function in the script as. sc.addPyFile ("modules.zip") Also, Dont forget to make make empty __init__.py file at root level in your directory (modules.zip) like modules/__init__.py ) Now to Import ...Missing application resource while running script in pyspark. I have been trying to execute a script .py by pyspark but I keep getting this error: 11:55 $ ./bin/spark-submit --jars spark-cassandra-connector-2.0.0-M2-s_2.11.jar --py-files example.py Exception in thread "main" java.lang.IllegalArgumentException: Missing application resource. at ...How to submit a Python file (.py) with PySpark code to Spark submit? spark-submit is used to submit the Spark applications written in Scala, Java, R, and Python to cluster. In this article, I will cover a few examples of how to submit a python (.py) file by using several options and configurations. 1. Spark Submit Python FileDec 20, 2017 · Specific to your question, you need to use --py-files to include python files that should be made available on the PYTHONPATH. I just ran into a similar problem where I want to run a modules main function from a module inside an egg file. The wrapper code below can be used to run main for any module via spark-submit. I believe while submit py file somehow its not able to detect hdfs client . ... spark-submit --deploy-mode client --master spark://Wonderwoman:7077 --py-files ...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.Sep 6, 2019 · It was fine when I directly run spark-submit xxxx under /airflow/dags/sf_dags folder . But airflow would complain ** can not find the **relative path files, apparently airflow didn't execute spark-submit under /airflow/dags/sf_dags folder. So I have to use absolute path, consequently spark submit would like below : 971 1 11 26 5 Apparently, the problem lies in the fact, that Python cannot import .so modules from .zip files ( docs.python.org/2/library/zipimport.html ). This means I need to somehow unpack the zipfile on all the workers and then add the unpack location to the sys.path on all the workers. I'll try it out and see how it goes. – Andrej PalickaDec 12, 2022 · To set the JAR files that should be included in your PySpark application, you can use the spark-submit command with the --jars option. For example, to include multiple JAR files in your PySpark ... 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 ...Jan 27, 2016 · --py-files is used for providing additional dependent python files needed by your program, so that they can be placed in PYTHONPATH. I tried again following command works for me in windows/ Spark-1.6: - bin\spark-submit --master "local[4]" testingpyfiles.py

Jun 28, 2016 · --py-files: this option is used to submit Python dependency, it can be .py, .egg or .zip. spark will add these file into PYTHONPATH, so your python interpreter can find them. sc.addPyFile is the programming api for this one. PS: for single .py file, spark will add it into a __pyfiles__ folder, others will add into CWD. . Epic

spark submit py files

Dec 26, 2020 · Teams. Q&A for work. Connect and share knowledge within a single location that is structured and easy to search. Learn more about Teams 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 ... 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 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.Apr 7, 2016 · 971 1 11 26 5 Apparently, the problem lies in the fact, that Python cannot import .so modules from .zip files ( docs.python.org/2/library/zipimport.html ). This means I need to somehow unpack the zipfile on all the workers and then add the unpack location to the sys.path on all the workers. I'll try it out and see how it goes. – Andrej Palicka Dec 12, 2022 · To set the JAR files that should be included in your PySpark application, you can use the spark-submit command with the --jars option. For example, to include multiple JAR files in your PySpark ... May 12, 2020 · I have a PySpark job present locally on my laptop. If I want to submit it on my minikube cluster using spark-submit, any idea how to pass the python file ? I'm using following command, but it isn't working Nov 24, 2022 · When you access files in the archive that are passed via --archives parameter to Spark job, you do not need to specify full path to these files, instead you need to use current working directory (.). In your specific case it probably will be ./config/config.yaml (depends on folder structure inside your archive). Apr 30, 2021 · I have a pyspark code in a file, let's call it somePythonSQL.py I am trying to submit this to Spark using an ojdbc.jar dependency because the pysaprk actually connects to an oracle database. spark-submit --master yarn somePythonSQL.py --jars "/home/ojdbc7-12.1.0.2.jar" But I get: The --files and --archives options support specifying file names with the #, just like Hadoop.. For example you can specify: --files localtest.txt#appSees.txt and this will upload the file you have locally named localtest.txt into Spark worker directory, but this will be linked to by the name appSees.txt, and your application should use the name as appSees.txt to reference it when running on YARN.May 14, 2021 · I have the following folder structure. I zipped the the source folder and run spark-submit with the source.zip as --py-files. My problem is, how do I read the config.hcl file from the PySpark appli... Oct 1, 2020 · I have four python files , out of four files 1 file has spark entry code defined and that file drives and calls rest other python files . for now I have provided four python files with --py-files option in spark submit command , but instead of submitting this way I want to create zip file and pack these all four python files and submit with ... .

Popular Topics