Есть ли простой способ загрузить файлы паркета прямо в Cassandra? - PullRequest
0 голосов
/ 05 ноября 2019

У меня есть файл / папка для паркета (около 1 ГБ), которую я хотел бы загрузить в мою локальную базу данных Cassandra. К сожалению, я не смог найти никакого способа (кроме как через SPARK (в Scala)) напрямую загрузить этот файл в CDB. Если я добавлю паркет в CSV, он станет слишком большим для моего ноутбука.

Я настраиваю Cassandra DB для анализа больших данных (у меня есть около 25 ТБ необработанных данных, которые нам нужны для быстрого поиска). Прямо сейчас я провожу некоторые локальные тесты того, как оптимально спроектировать пространства ключей, индексы и таблицы, прежде чем переходить на Cassandra как сервис на Hyperscaler. Преобразование данных в CSV не вариант, так как это слишком много.

COPY firmographics.company (col1,col2,col3.....) FROM 'C:\Users\Public\Downloads\companies.csv' WITH DELIMITER='\t' AND HEADER=TRUE;

1 Ответ

1 голос
/ 12 ноября 2019

Оказывается, как сказал Алекс Отт , достаточно просто написать это на СПАРКЕ. Ниже мой код:

import findspark

from pyspark.sql import SparkSession  
findspark.init()

spark = SparkSession\
    .builder\
    .appName("Spark Exploration App")\
    .config('spark.jars.packages', 'com.datastax.spark:spark-cassandra-connector_2.11:2.3.2')\
    .getOrCreate()

import pandas as pd
df = spark.read.parquet("/PATH/TO/FILE/")

import time
start = time.time()

df2.drop('filename').write\
    .format("org.apache.spark.sql.cassandra")\
    .mode('append')\
    .options(table="few_com", keyspace="bmbr")\
    .save()

end = time.time()
print(end - start)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...