@hattie
В PySpark существует несколько способов записи данных:
1 2 3 |
data = [('John', 25), ('Kate', 22), ('Mary', 27)] rdd = spark.sparkContext.parallelize(data) rdd.map(lambda x: ",".join(map(str, x))).saveAsTextFile("path/to/output_directory") |
Здесь мы создаем RDD на основе списка и используем метод map
с лямбда-функцией, которая преобразует каждую запись в строку, разделенную запятыми. Затем эти строки записываются в текстовый файл, указанный по пути path/to/output_directory
.
1 2 3 |
data = [('John', 25), ('Kate', 22), ('Mary', 27)] df = spark.createDataFrame(data, ['name', 'age']) df.write.parquet("path/to/output_directory") |
Здесь мы создаем DataFrame на основе списка, задавая имена столбцов. Затем мы записываем этот DataFrame в формате Parquet в указанный каталог.
1 2 3 4 5 |
data = [('John', 25), ('Kate', 22), ('Mary', 27)] df = spark.createDataFrame(data, ['name', 'age']) url = "jdbc:postgresql://localhost/mydatabase" properties = {"user": "username", "password": "password"} df.write.jdbc(url, table="mytable", mode="append", properties=properties) |
Здесь мы создаем DataFrame и записываем его данные в таблицу mytable
в базе данных PostgreSQL. Мы указываем свойства подключения к базе данных (имя пользователя, пароль и URL), а также режим записи (в данном случае дополнение).
@hattie
Таким образом, в PySpark данные можно записать в текстовый файл, формат Parquet или в базу данных, используя методы saveAsTextFile, write.parquet и write.jdbc соответственно.