如何在cassandra和hive中存储多维数组

How to store multidimensional array in cassandra and hive

因此,我将遵循以下示例:

https://keras.io/examples/nlp/pretrained_word_embeddings/

在这个例子中,在下面的部分中生成了一个嵌入矩阵

num_tokens = len(voc) + 2
embedding_dim = 100
hits = 0
misses = 0

# Prepare embedding matrix
embedding_matrix = np.zeros((num_tokens, embedding_dim))
for word, i in word_index.items():
    embedding_vector = embeddings_index.get(word)
    if embedding_vector is not None:
        # Words not found in embedding index will be all-zeros.
        # This includes the representation for "padding" and "OOV"
        embedding_matrix[i] = embedding_vector
        hits += 1
    else:
        misses += 1
print("Converted %d words (%d misses)" % (hits, misses))

这怎么能推送到cassandra和hive。我试过以下查询:

statement = "CREATE TABLE schema.upcoming_calendar3 ( embedding_matrix list>, PRIMARY KEY ( embedding_matrix) );"

但是,这给了我以下错误:

InvalidRequest:来自服务器的错误:code=2200 [无效查询] message="PRIMARY KEY 组件的无效非冻结集合类型 embedding_matrix"

同样,我也想将其发送到蜂巢。

任何关于在 cassandra 和 hive 中使用什么数据类型的帮助以及将它发送到数据库的更有效的方式都会很棒。

目前我推送的数据是这样的:

statement = "插入模式。upcoming_calendar3(embedding_matrix) 值 (%s);" % (embedding_matrix)

像这样声明上层集合为冻结状态:

embedding_matrix frozen<list<set<text>>>

如果您想将其用作主键。

在hive中对应的数据类型是array<array<type>>,见manual.