我正在使用 Python 和 PySpark,使用 Anaconda 安装在 Windows 10。目前,我正在浏览
sparkbyexamples.com
页面,
例如,这里,
这里,
这里。
令我惊讶的是,一个文件中需要导入多少类和方法 零碎的时尚,例如 SparkSession、StructType、StructField、 StringType、IntegerType、Row、col、Column等并非全部导入 在教程材料中指定,因此必须递归地 在
*.py
子树中搜索 %SPARK_HOME%
文件来查找它们,
例如,使用 find
、sed
和/或 vimgrep
。这效率不高。
我希望为了有效的分析,许多类和 在特定应用程序域中使用的方法是 通过一次或多次导入即可访问。 Python 用户如何 避免寻找正确的类/方法的需要 以零碎的方式导入它们?
为了避免导入多个符号,您可以直接导入模块/命名空间,然后使用该命名空间来访问所需的符号。这将使您的导入更干净、更简洁。
from pyspark.sql import types as T, functions as F
schema = T.StructType([
T.StructField('firstname', T.StringType(), True),
T.StructField('middlename', T.StringType(), True),
T.StructField('lastname', T.StringType(), True)
])