有没有一种简单的方法可以将镶木地板文件直接加载到Cassandra中?

时间:2019-11-05 10:48:42

标签: csv import cassandra parquet

我有一个实木复合地板文件/文件夹(约1GB),我想加载到我的本地Cassandra数据库中。不幸的是,我找不到任何方法(通过SPARK(在Scala中)除外)直接将该文件加载到CDB中。如果我将镶木地板文件吹成CSV文件,对我的笔记本电脑来说太大了。

我正在为一个大数据分析案例设置一个Cassandra数据库(我有大约25TB的原始数据,我们需要快速获取这些数据)。现在,我正在运行一些本地测试,以了解如何优化设计键空间,索引和表,然后再将其作为Hyperscaler上的Cassandra即服务使用。不能将数据转换为CSV,因为这样会炸得太多。

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

1 个答案:

答案 0 :(得分:1)

结果证明,就像Alex Ott所说的那样,只需将其写在SPARK中就很容易了。在我的代码下面:

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)