我有一个实木复合地板文件/文件夹(约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;
答案 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)