2024-09-27, 19:00-今日內容

Spark 不能像是pd那样进行slicing的操作,只能用select 来选择column。 row: filter和where… Pyspark 可以直接吧spark的df 直接转化成pd的dataframe。 呼叫: df.toPandas() Spark拿取数据: collect 和take 区别是一个拿全部,一个拿前几行 Spark 是惰性计算,所以只有让show的时候才会真正执行,并且心啊事数据frame得内容。 为什么不能用pd 而要用spark呢 Spark可以读取很多的数据,包括本地(csv等等),或者分布式系统(hadoop的hdfs),或者云存储服务(s3)。 或sql… Spark 不是数据库,而是分布式的数据处理框架。 我们即使运行pyspark, 也需要安装jdk。 因为jvm上运行着spark… Lambda 定义的是函数,要让他return 实际的value, 需要调用这个函数。 mmyyy = lambda x: x+100 torch里有mse loss和L1 loss。 都在torch.nn.functional 里面。 也就是F Sklearn 用于ml的基础的package。 他有一个mean_absolute_error 可以直接对比: y_valid, preds X train y train

🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️下一個筆記🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️

Spark 不能像是pd那样进行slicing的操作,只能用select 来选择column。 row: filter和where… Spark 不能像是pd那样进行slicing的操作,只能用select 来选择column。 row: filter和where来选择row。

在 PySpark 中选择列

df_selected = df.select(‘col1’, ‘col2’)

在 PySpark 中选择行

df_filtered = df.filter(df[‘col1’] > 10)

🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️下一個筆記🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️

Pyspark 可以直接吧spark的df 直接转化成pd的dataframe。 呼叫: df.toPandas()

🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️下一個筆記🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️

Spark拿取数据: collect 和take 区别是一个拿全部,一个拿前几行 collect() 会将整个 DataFrame 的所有数据从集群中收集到本地,而 take(n) 只会拿回前 n 条数据。这样可以避免大数据集带来的内存问题。

🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️下一個筆記🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️

Spark 是惰性计算,所以只有让show的时候才会真正执行,并且心啊事数据frame得内容。 这有一个非常直白的例子:  

🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️下一個筆記🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️

为什么不能用pd 而要用spark呢 使用 Spark 而不是 pandas 的原因通常取决于数据量和性能要求:

数据大小:pandas 在处理小至中等规模的数据集(通常在内存范围内)时表现良好,但对于非常大的数据集(超过几GB),Spark 更适合,因为它能够处理分布式数据。

性能:Spark 通过分布式计算框架(如 Hadoop 或 Mesos)来处理大规模数据,具有更高的性能和扩展性,特别是在集群环境中。

容错性:Spark 具有内置的容错机制,可以在节点故障时仍然保证数据处理的连续性。

并行处理:Spark 可以在多个节点上并行处理数据,显著提高大数据处理任务的速度。

你可以根据具体的需求和数据规模选择合适的工具。

🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️下一個筆記🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️

Spark可以读取很多的数据,包括本地(csv等等),或者分布式系统(hadoop的hdfs),或者云存储服务(s3)。 或sql… Spark可以读取很多的数据,包括本地(csv等等),或者分布式系统(hadoop的hdfs),或者云存储服务(s3)。 或sql的db的table: 具体: 在Spark中,数据可以来自多种来源,包括:

  • 本地文件系统(如CSV文件)
  • 分布式文件系统(如HDFS)
  • 云存储服务(如Amazon S3)
  • 数据库(如MySQL, PostgreSQL)
  • 数据仓库(如Apache Hive)

具体的数据来源取决于你的需求和配置。你可以使用Spark的API来读取和处理这些数据源。以下是一些示例:

读取本地CSV文件

df = spark.read.csv("path/to/local/file.csv")

读取S3上的CSV文件

df = spark.read.csv("s3a://bucket-name/path/to/file.csv")

读取HDFS上的CSV文件

df = spark.read.csv("hdfs://namenode:9000/path/to/file.csv")

读取数据库表

df = spark.read.format("jdbc").option("url", "jdbc:mysql://hostname:port/dbname") \
    .option("dbtable", "table_name") \
    .option("user", "username") \
    .option("password", "password").load()

你可以根据具体需求选择合适的数据来源。

🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️下一個筆記🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️

Spark 不是数据库,而是分布式的数据处理框架。 我们即使运行pyspark, 也需要安装jdk。 因为jvm上运行着spark… Spark 不是数据库,而是分布式的数据处理框架。 我们即使运行pyspark, 也需要安装jdk。 因为jvm上运行着spark。 我们用spark 进行数据分析和处理, 他还可以和s3进行集成。/或者和hadoop的HDFS。 Spark 允许你进行多种语言进行编程, python java 或R。 还有scala。

🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️下一個筆記🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️

Lambda 定义的是函数,要让他return 实际的value, 需要调用这个函数。 mmyyy = lambda x: x+100 办法是这样的: mmyyy(min)

🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️下一個筆記🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️

torch里有mse loss和L1 loss。 都在torch.nn.functional 里面。 也就是F L1 loss 是mean absolute error mse loss 是mean squaered error

🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️下一個筆記🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️

Sklearn 用于ml的基础的package。 他有一个mean_absolute_error 可以直接对比: y_valid, preds

🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️下一個筆記🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️

X train y train 

#匯總今日內容