Spark 5063 - In this blog, I will teach you the following with practical examples: Syntax of map () Using the map () function on RDD. Using the map () function on DataFrame. map () is a transformation used to apply the transformation function (lambda) on every element of RDD/DataFrame and returns a new RDD. Syntax: dataframe_name.map ()

 
Teams. Q&A for work. Connect and share knowledge within a single location that is structured and easy to search. Learn more about Teams. Ap english language and composition 2022 free response questions answers

The preservesPartitioning = true tells Spark that this map function doesn't modify the keys of rdd2; this will allow Spark to avoid re-partitioning rdd2 for any subsequent operations that join based on the (t, w) key. This broadcast could be inefficient since it involves a communications bottleneck at the driver.Jun 26, 2018 · Exception: It appears that you are attempting to reference SparkContext from a broadcast variable, action, or transformation. SparkContext can only be used on the driver, not in code that it run on workers. For more information, see SPARK-5063. #88 Teams. Q&A for work. Connect and share knowledge within a single location that is structured and easy to search. Learn more about TeamsWithout the call of collect the Dataframe url_select_df is distributed across the executors. When you then call map, the lambda expression gets executed on the executors.. Because the lambda expression is calling createDF which is using the SparkContext you get the exception as it is not possible to use the SparkContext on an execMar 1, 2023 · Using foreach to fill a list from Pyspark data frame. foreach () is used to iterate over the rows in a PySpark data frame and using this we are going to add the data from each row to a list. The foreach () function is an action and it is executed on the driver node and not on the worker nodes. This means that it is not recommended to use ... org.apache.spark.SparkException: RDD transformations and actions can only be invoked by the driver, not inside of other transformations; for example, rdd1.map (x => rdd2.values.count () * x) is invalid because the values transformation and count action cannot be performed inside of the rdd1.map transformation. For more information, see SPARK-5063.Jul 27, 2021 · For more information, see SPARK-5063. The objective of this piece of code is to create a flag for every row based on the date differences. Multiple rows per user are supplied to the function to create the values of the flag. Teams. Q&A for work. Connect and share knowledge within a single location that is structured and easy to search. Learn more about TeamsJun 26, 2018 · Exception: It appears that you are attempting to reference SparkContext from a broadcast variable, action, or transformation. SparkContext can only be used on the driver, not in code that it run on workers. For more information, see SPARK-5063. #88 Cannot create pyspark dataframe on pandas pipelinedRDD. list_of_df = process_pitd_objects (objects) # returns a list of dataframes list_rdd = sc.parallelize (list_of_df) spark_df_list = list_rdd.map (lambda x: spark.createDataFrame (x)).collect () So I have a list of dataframes in python and I want to convert each dataframe to pyspark.For more information, see SPARK-5063. Super simple EXAMPLE app to try and run some calculations in parallel. Works (sometimes) but most times crashes with the above exception.Exception: It appears that you are attempting to reference SparkContext from a broadcast variable, action, or transforamtion. SparkContext can only be used on the driver, not in code that it run on workers. For more information, see SPARK-5063.Error: Could not serialize object: Exception: It appears that you are attempting to reference SparkContext from a broadcast variable, action, or transformation. SparkContext can only be used on the driver, not in code that it run on workers. For more information, see SPARK-5063.Jun 7, 2023 · RuntimeError: It appears that you are attempting to reference SparkContext from a broadcast variable, action, or transformation. SparkContext can only be used on the driver, not in code that it run on workers. For more information, see SPARK-5063. Labels: Broadcast variable. Sparkcontext. 2_image.png.png. 37 KB. For more information, see SPARK-5063. edit: It seems the issue is that sklearn cross_validate() clones the estimator for each fit in a fashion similar to pickling the estimator object which is not allowed for PySpark GridsearchCV estimator because a SparkContext() object cannot/should not be pickled.Jun 23, 2017 · For more information, see SPARK-5063. (2) When a Spark Streaming job recovers from checkpoint, this exception will be hit if a reference to an RDD not defined by the streaming job is used in DStream operations. For more information, See SPARK-13758. 281 "not in code that it run on workers. For more information, see SPARK-5063." Exception: It appears that you are attempting to reference SparkContext from a broadcast variable, action, or transformation. SparkContext can only be used on the driver, not in code that it run on workers. For more information, see SPARK-5063.Jan 3, 2022 · SparkContext can only be used on the driver, not in code that it run on workers. For more information, see SPARK-5063. from pyspark import SparkContext from awsglue.context import GlueContext from awsglue.transforms import SelectFields import ray import settings sc = SparkContext.getOrCreate () glue_context = GlueContext (sc) @ray.remote def ... The creation and usage of the broadcast variables for the data that is shared across the multiple stages and tasks. The broadcast variables are not sent to the executors with "sc. broadcast (variable)" call instead they will be sent to the executors when they are first used. The PySpark Broadcast variable is created using the "broadcast (v ...As explained in the SPARK-5063 "Spark does not support nested RDDs". You are trying to access centroids (RDD) in map on sig_vecs (RDD): docs = sig_vecs.map(lambda x: k_means.classify_docs(x, centroids)) Converting centroids to a local collection (collect?) and adjusting classify_docs should address the problem.Nov 11, 2017 · For more information, see SPARK-5063. edit: It seems the issue is that sklearn cross_validate() clones the estimator for each fit in a fashion similar to pickling the estimator object which is not allowed for PySpark GridsearchCV estimator because a SparkContext() object cannot/should not be pickled. Jun 26, 2018 · For more information, see SPARK-5063. #88. mohaimenz opened this issue Jun 26, 2018 · 18 comments Comments. Copy link mohaimenz commented Jun 26, 2018. 2. Think about Spark Broadcast variable as a Python simple data type like list, So the problem is how to pass a variable to the UDF functions. Here is an example: Suppose we have ages list d and a data frame with columns name and age. So we want to check if the age of each person is in ages list.I have a function that accepts a spark DataFrame and I would like to obtain the Spark context in which the DataFrames exists. The reason is that I want to get the SQLContext so I can run some SQL queries. sql_Context = SQLContext (output_df.sparkContext ()) sql_Context.registerDataFrameAsTable (output_df, "table1") sql_Context.sql ("select ...RDD transformations and actions can only be invoked by the driver, not inside of other transformations; for example, rdd1.map(lambda x: rdd2.values.count() * x) is invalid because the values transformation and count action cannot be performed inside of the rdd1.map transformation. For more information, see SPARK-5063.For more information, see SPARK-5063. As the error says, i'm trying to map (transformation) a JavaRDD object within the main map function, how is it possible with Apache Spark? The main JavaPairRDD object (TextFile and Word are defined classes): JavaPairRDD<TextFile, JavaRDD<Word>> filesWithWords = new... and map function:org.apache.spark.SparkException: RDD transformations and actions can only be invoked by the driver, not inside of other transformations; for example, rdd1.map (x => rdd2.values.count () * x) is invalid because the values transformation and count action cannot be performed inside of the rdd1.map transformation. For more information, see SPARK-5063.I am getting the following error: PicklingError: Could not serialize object: Exception: It appears that you are attempting to reference SparkContext from a broadcast variable, action, or transformation. SparkContext can only be used on the driver, not in code that it run on workers. For more information, see SPARK-5063.Jul 25, 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 Often, a unit of execution in an application consists of multiple Spark actions or jobs. Application programmers can use this method to group all those jobs together and give a group description. Once set, the Spark web UI will associate such jobs with this group. pyspark.SparkContext.broadcast. ¶. SparkContext.broadcast(value: T) → pyspark.broadcast.Broadcast [ T] [source] ¶. Broadcast a read-only variable to the cluster, returning a Broadcast object for reading it in distributed functions. The variable will be sent to each cluster only once. New in version 0.7.0. Parameters. valueT.For more information, see SPARK-5063. edit: It seems the issue is that sklearn cross_validate() clones the estimator for each fit in a fashion similar to pickling the estimator object which is not allowed for PySpark GridsearchCV estimator because a SparkContext() object cannot/should not be pickled.For more information, see SPARK-5063. 5 results = train_and_evaluate (temp) init (self, fn, *args, **kwargs) init init (self, fn, *args, **kwargs) --> 788 self.fn = pickler.loads (pickler.dumps (self.fn)) --> 258 s = dill.dumps (o)def textFile (self, name, minPartitions = None, use_unicode = True): """ Read a text file from HDFS, a local file system (available on all nodes), or any Hadoop-supported file system URI, and return it as an RDD of Strings.Exception: It appears that you are attempting to reference SparkContext from a broadcast variable, action, or transformation. SparkContext can only be used on the driver, not in code that it run on workers. For more information, see SPARK-5063. #88def localCheckpoint (self): """ Mark this RDD for local checkpointing using Spark's existing caching layer. This method is for users who wish to truncate RDD lineages while skipping the expensive step of replicating the materialized data in a reliable distributed file system. For more information, see SPARK-5063. apache-spark; apache-spark-sql; pyspark; Share. Improve this question. Follow edited Sep 30, 2019 at 2:52. Pyspark Developer. I want to broadcast a hashmap in Python that I would like to use for lookups on worker nodes. class datatransform: # Constructor def __init__(self, lookupFileName, dataFileName): ...Create a Function. The first step in creating a UDF is creating a Scala function. Below snippet creates a function convertCase () which takes a string parameter and converts the first letter of every word to capital letter. UDF’s take parameters of your choice and returns a value. val convertCase = (strQuote:String) => { val arr = strQuote ...spark的调试问题. spark运行过程中的数据总是以RDD的方式存储,使用Logger等日志模块时,对RDD内数据无法识别,应先使用行为操作转化为scala数据结构然后输出。. scala Map 排序. 对于scala Map数据的排序,使用 scala.collection.immutable.ListMap 和 sortWiht (sortBy),具体用法如下 ...The mlflow.spark module provides an API for logging and loading Spark MLlib models. This module exports Spark MLlib models with the following flavors: Spark MLlib (native) format. Allows models to be loaded as Spark Transformers for scoring in a Spark session. Models with this flavor can be loaded as PySpark PipelineModel objects in Python.RuntimeError: It appears that you are attempting to reference SparkContext from a broadcast variable, action, or transformation. SparkContext can only be used on the driver, not in code that it run on workers. For more information, see SPARK-5063. Could I please get some help figuring this out? Thanks in advance!Jan 1, 2007 · This item: Denso (5063) K20TXR Traditional Spark Plug, Pack of 1. $674. +. Powerbuilt 12 Millimeter 7-1/2-Inch Jam Nut Valve Adjustment Tool, Slotted Valve Adjusting Stud, Honda, Nissan, Toyota Vehicle Engines - 648828. $2697. Jun 23, 2017 · For more information, see SPARK-5063. (2) When a Spark Streaming job recovers from checkpoint, this exception will be hit if a reference to an RDD not defined by the streaming job is used in DStream operations. For more information, See SPARK-13758. RDD transformations and actions can only be invoked by the driver, not inside of other transformations; for example, rdd1.map(lambda x: rdd2.values.count() * x) is invalid because the values transformation and count action cannot be performed inside of the rdd1.map transformation. For more information, see SPARK-5063. Often, a unit of execution in an application consists of multiple Spark actions or jobs. Application programmers can use this method to group all those jobs together and give a group description. Once set, the Spark web UI will associate such jobs with this group.SPARK-5063 relates to better error messages when trying to nest RDD operations, which is not supported. It's a usability issue, not a functional one. The root cause is the nesting of RDD operations and the solution is to break that up. Here we are trying a join of dRDD and mRDD.Exception: It appears that you are attempting to reference SparkContext from a broadcast variable, action, or transformation. SparkContext can only be used on the driver, not in code that it run on workers. For more information, see SPARK-5063. I also tried with the following (simple) neural network and command, and I receive EXACTLY the same errorJun 26, 2018 · Exception: It appears that you are attempting to reference SparkContext from a broadcast variable, action, or transformation. SparkContext can only be used on the driver, not in code that it run on workers. For more information, see SPARK-5063. #88 @G_cy the broadcast is an optimization of serialization. With serialization, Spark would need to serialize the map with each task dispatched to the executors.org.apache.spark.SparkException: RDD transformations and actions can only be invoked by the driver, not inside of other transformations; for example, rdd1.map (x => rdd2.values.count () * x) is invalid because the values transformation and count action cannot be performed inside of the rdd1.map transformation. For more information, see SPARK-5063.I have a function that accepts a spark DataFrame and I would like to obtain the Spark context in which the DataFrames exists. The reason is that I want to get the SQLContext so I can run some SQL queries. sql_Context = SQLContext (output_df.sparkContext ()) sql_Context.registerDataFrameAsTable (output_df, "table1") sql_Context.sql ("select ...def pickleFile (self, name: str, minPartitions: Optional [int] = None)-> RDD [Any]: """ Load an RDD previously saved using :meth:`RDD.saveAsPickleFile` method... versionadded:: 1.1.0 Parameters-----name : str directory to the input data files, the path can be comma separated paths as a list of inputs minPartitions : int, optional suggested minimum number of partitions for the resulting RDD ... RDD transformations and actions can only be invoked by the driver, not inside of other transformations; for example, rdd1.map(lambda x: rdd2.values.count() * x) is invalid because the values transformation and count action cannot be performed inside of the rdd1.map transformation. For more information, see SPARK-5063.It's a Spark problem :) When you apply function to Dataframe (or RDD) Spark needs to serialize it and send to all executors. It's not really possible to serialize FastText's code, because part of it is native (in C++). Possible solution would be to save model to disk, then for each spark partition load model from disk and apply it to the data.For more information, see SPARK-5063. _pickle.PicklingError: Could not serialize object: Exception: It appears that you are attempting to reference SparkContext from a broadcast variable, action, or transformation. SparkContext can only be used on the driver, not in code that it run on workers. For more information, see SPARK-5063. 代码 The mlflow.spark module provides an API for logging and loading Spark MLlib models. This module exports Spark MLlib models with the following flavors: Spark MLlib (native) format. Allows models to be loaded as Spark Transformers for scoring in a Spark session. Models with this flavor can be loaded as PySpark PipelineModel objects in Python.SparkContext can only be used on the driver, not in code that it run on workers. For more information, see SPARK-5063. from pyspark import SparkContext from awsglue.context import GlueContext from awsglue.transforms import SelectFields import ray import settings sc = SparkContext.getOrCreate () glue_context = GlueContext (sc) @ray.remote def ...broadcast [T] (value: T) (implicit arg0: ClassTag [T]): Broadcast [T] Broadcast a read-only variable to the cluster, returning a org.apache.spark.broadcast.Broadcast object for reading it in distributed functions. The variable will be sent to each cluster only once. You can only broadcast a real value, but an RDD is just a container of values ...Jan 1, 2007 · This item: Denso (5063) K20TXR Traditional Spark Plug, Pack of 1. $674. +. Powerbuilt 12 Millimeter 7-1/2-Inch Jam Nut Valve Adjustment Tool, Slotted Valve Adjusting Stud, Honda, Nissan, Toyota Vehicle Engines - 648828. $2697. Jun 7, 2023 · RuntimeError: It appears that you are attempting to reference SparkContext from a broadcast variable, action, or transformation. SparkContext can only be used on the driver, not in code that it run on workers. For more information, see SPARK-5063. Labels: Broadcast variable. Sparkcontext. 2_image.png.png. 37 KB. Oct 29, 2018 · 2. Think about Spark Broadcast variable as a Python simple data type like list, So the problem is how to pass a variable to the UDF functions. Here is an example: Suppose we have ages list d and a data frame with columns name and age. So we want to check if the age of each person is in ages list. I am trying to write a function in Azure databricks. I would like to spark.sql inside the function. But it looks like I cannot use it with worker nodes. def SEL_ID(value, index): # some processing on value here ans = spark.sql("SELECT id FROM table WHERE bin = index") return ans spark.udf.register("SEL_ID", SEL_ID)For more information, see SPARK-5063. · Issue #88 · maxpumperla/elephas · GitHub maxpumperla / elephas Public Closed on Jun 26, 2018 · 18 comments mohaimenz on Jun 26, 2018PicklingError: Could not serialize object: Exception: It appears that you are attempting to reference SparkContext from a broadcast variable, action, or transformation. SparkContext can only be used on the driver, not in code that it run on workers. For more information, see SPARK-5063.spark的调试问题. spark运行过程中的数据总是以RDD的方式存储,使用Logger等日志模块时,对RDD内数据无法识别,应先使用行为操作转化为scala数据结构然后输出。. scala Map 排序. 对于scala Map数据的排序,使用 scala.collection.immutable.ListMap 和 sortWiht (sortBy),具体用法如下 ...Jul 10, 2019 · It's a Spark problem :) When you apply function to Dataframe (or RDD) Spark needs to serialize it and send to all executors. It's not really possible to serialize FastText's code, because part of it is native (in C++). Possible solution would be to save model to disk, then for each spark partition load model from disk and apply it to the data. Jul 14, 2015 · Spark: Broadcast variables: It appears that you are attempting to reference SparkContext from a broadcast variable, action, or transforamtion. 0. For more information, see SPARK-5063. As the error says, i'm trying to map (transformation) a JavaRDD object within the main map function, how is it possible with Apache Spark? The main JavaPairRDD object (TextFile and Word are defined classes): JavaPairRDD<TextFile, JavaRDD<Word>> filesWithWords = new... and map function:SparkContext can only be used on the driver. When you invoke map you are on an Executor. The link I sent you runs parallel collection and is invoked from the Driver, also doing some zipping stuff. I discussed this with that person on that question as that is what became of it. That is the correct approach imho.Aug 21, 2017 · I downloaded a file and now I'm trying to write it as a dataframe to hdfs. import requests from pyspark import SparkContext, SparkConf conf = SparkConf().setAppName('Write Data').setMaster('loca... Mar 3, 2021 · Without the call of collect the Dataframe url_select_df is distributed across the executors. When you then call map, the lambda expression gets executed on the executors.. Because the lambda expression is calling createDF which is using the SparkContext you get the exception as it is not possible to use the SparkContext on an exec Part of AWS Collective. 1. I have created a script locally that uses the spark extension 'uk.co.gresearch.spark:spark-extension_2.12:2.2.0-3.3' for comparing different DataFrames in a simple manner. However, when I try this out on AWS Glue I ran into some issues and received this error: ModuleNotFoundError: No module named 'gresearch'.this rdd lacks a sparkcontext. it could happen in the following cases: . rdd transformations and actions are not invoked by the driver, . but inside of other transformations; for example, rdd1.map(x => rdd2.values.count() * x) is invalid because the values transformation and count action cannot be performed inside of the rdd1.map transformation For more information, see SPARK-5063. As the error says, i'm trying to map (transformation) a JavaRDD object within the main map function, how is it possible with Apache Spark? The main JavaPairRDD object (TextFile and Word are defined classes): JavaPairRDD<TextFile, JavaRDD<Word>> filesWithWords = new... and map function:For more information, see SPARK-5063. apache-spark; apache-spark-sql; pyspark; Share. Improve this question. Follow edited Sep 30, 2019 at 2:52. Pyspark Developer.The mlflow.spark module provides an API for logging and loading Spark MLlib models. This module exports Spark MLlib models with the following flavors: Spark MLlib (native) format. Allows models to be loaded as Spark Transformers for scoring in a Spark session. Models with this flavor can be loaded as PySpark PipelineModel objects in Python.17. You are passing a pyspark dataframe, df_whitelist to a UDF, pyspark dataframes cannot be pickled. You are also doing computations on a dataframe inside a UDF which is not acceptable (not possible). Keep in mind that your function is going to be called as many times as the number of rows in your dataframe, so you should keep computations ...Apache Spark. Databricks Runtime 10.4 LTS includes Apache Spark 3.2.1. This release includes all Spark fixes and improvements included in Databricks Runtime 10.3 (Unsupported), as well as the following additional bug fixes and improvements made to Spark: [SPARK-38322] [SQL] Support query stage show runtime statistics in formatted explain mode.Exception: It appears that you are attempting to reference SparkContext from a broadcast variable, action, or transformation. SparkContext can only be used on the driver, not in code that it run on workers. For more information, see SPARK-5063. I also tried with the following (simple) neural network and command, and I receive EXACTLY the same errorOutside of Local you will always get a closure issue relying on the spark context(-->Couldn't find SPARK_HOME path) on an executor. (--> code inside mapPartitions) You will need to initialize the connection inside mapPartions, and I can't tell you how to do that as you haven't posted the code for 'requests'.def localCheckpoint (self): """ Mark this RDD for local checkpointing using Spark's existing caching layer. This method is for users who wish to truncate RDD lineages while skipping the expensive step of replicating the materialized data in a reliable distributed file system.

def pickleFile (self, name: str, minPartitions: Optional [int] = None)-> RDD [Any]: """ Load an RDD previously saved using :meth:`RDD.saveAsPickleFile` method... versionadded:: 1.1.0 Parameters-----name : str directory to the input data files, the path can be comma separated paths as a list of inputs minPartitions : int, optional suggested minimum number of partitions for the resulting RDD ... . Fuq

spark 5063

Jul 7, 2022 · with mlflow.start_run (run_name="SomeModel_run"): model = SomeModel () mlflow.pyfunc.log_model ("somemodel", python_model=model) RuntimeError: It appears that you are attempting to reference SparkContext from a broadcast variable, action, or transformation. SparkContext can only be used on the driver, not in code that it run on workers. Jun 26, 2018 · For more information, see SPARK-5063. #88. mohaimenz opened this issue Jun 26, 2018 · 18 comments Comments. Copy link mohaimenz commented Jun 26, 2018. pyspark.SparkContext.broadcast. ¶. SparkContext.broadcast(value: T) → pyspark.broadcast.Broadcast [ T] [source] ¶. Broadcast a read-only variable to the cluster, returning a Broadcast object for reading it in distributed functions. The variable will be sent to each cluster only once. New in version 0.7.0. Parameters. valueT.Spark: Broadcast variables: It appears that you are attempting to reference SparkContext from a broadcast variable, action, or transforamtion. 0.Dec 27, 2016 · WARN ParallelCollectionRDD: Spark does not support nested RDDs (see SPARK-5063) par: org.apache.spark.rdd.RDD[org.apache.spark.rdd.RDD[String]] = ParallelCollectionRDD[2] at parallelize at :28. Question 1. How does a parallelCollection work?. Question 2. Can I iterate through them and perform transformation? Question 3 For more information, see SPARK-5063. _pickle.PicklingError: Could not serialize object: Exception: It appears that you are attempting to reference SparkContext from a broadcast variable, action, or transformation. SparkContext can only be used on the driver, not in code that it run on workers. For more information, see SPARK-5063. 代码RDD transformations and actions can only be invoked by the driver, not inside of other transformations; for example, rdd1.map(lambda x: rdd2.values.count() * x) is invalid because the values transformation and count action cannot be performed inside of the rdd1.map transformation. For more information, see SPARK-5063.The preservesPartitioning = true tells Spark that this map function doesn't modify the keys of rdd2; this will allow Spark to avoid re-partitioning rdd2 for any subsequent operations that join based on the (t, w) key. This broadcast could be inefficient since it involves a communications bottleneck at the driver.RuntimeError: It appears that you are attempting to reference SparkContext from a broadcast variable, action, or transformation. SparkContext can only be used on the driver, not in code that it run on workers. For more information, see SPARK-5063. Could I please get some help figuring this out? Thanks in advance!Mar 3, 2021 · Without the call of collect the Dataframe url_select_df is distributed across the executors. When you then call map, the lambda expression gets executed on the executors.. Because the lambda expression is calling createDF which is using the SparkContext you get the exception as it is not possible to use the SparkContext on an exec RDD transformations and actions can only be invoked by the driver, not inside of other transformations; for example, rdd1.map(lambda x: rdd2.values.count() * x) is invalid because the values transformation and count action cannot be performed inside of the rdd1.map transformation. For more information, see SPARK-5063. For more information, see SPARK-5063. During handling of the above exception, another exception occurred: raise pickle.PicklingError(msg) _pickle.PicklingError: Could not serialize broadcast: RuntimeError: It appears that you are attempting to reference SparkContext from a broadcast variable, .. etcJan 1, 2007 · This item: Denso (5063) K20TXR Traditional Spark Plug, Pack of 1. $674. +. Powerbuilt 12 Millimeter 7-1/2-Inch Jam Nut Valve Adjustment Tool, Slotted Valve Adjusting Stud, Honda, Nissan, Toyota Vehicle Engines - 648828. $2697. Exception: It appears that you are attempting to reference SparkContext from a broadcast variable, action, or transformation. SparkContext can only be used on the driver, not in code that it run on workers. For more information, see SPARK-5063. #88For more information, see SPARK-5063. _pickle.PicklingError: Could not serialize object: Exception: It appears that you are attempting to reference SparkContext from a broadcast variable, action, or transformation. SparkContext can only be used on the driver, not in code that it run on workers. For more information, see SPARK-5063. 代码.

Popular Topics