当前位置: 首页 > 知识库问答 >
问题:

用apache spark为cassandra插入创建timeuuid

步衡
2023-03-14
CREATE TABLE leech_seed_report.daily_sessions (
    id timeuuid PRIMARY KEY,
    app int,
    count int,
    date bigint,
    offline boolean,
    vendor text,
    version text
) WITH bloom_filter_fp_chance = 0.01
    AND caching = '{"keys":"ALL", "rows_per_partition":"NONE"}'
    AND comment = ''
    AND compaction = {'class': 'org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy'}
    AND compression = {'sstable_compression': 'org.apache.cassandra.io.compress.LZ4Compressor'}
    AND dclocal_read_repair_chance = 0.1
    AND default_time_to_live = 0
    AND gc_grace_seconds = 864000
    AND max_index_interval = 2048
    AND memtable_flush_period_in_ms = 0
    AND min_index_interval = 128
    AND read_repair_chance = 0.0
    AND speculative_retry = '99.0PERCENTILE';
CREATE INDEX daily_sessions_app_idx ON leech_seed_report.daily_sessions (app);
CREATE INDEX daily_sessions_date_idx ON leech_seed_report.daily_sessions (date);
CREATE INDEX daily_sessions_offline_idx ON leech_seed_report.daily_sessions (offline);
CREATE INDEX daily_sessions_vendor_idx ON leech_seed_report.daily_sessions (vendor);
CREATE INDEX daily_sessions_version_idx ON leech_seed_report.daily_sessions (version);
rows.saveToCassandra("leech_seed_report", "daily_sessions", SomeColumns("id", "date", "app", "vendor", "version", "offline", "count"))
([timmuuid_will_be_here], BigInt, Int, String, String, Boolean, Int)

共有1个答案

岳朝
2023-03-14

最后,我尝试按照zero323的建议使用UUIDGen,但是我得到了一个错误,我认为这是由于缺少依赖关系,但是我是一个scala新手,无法确定。经过一点研究,这似乎是我应该走的路,但当我有更多的时间/经验时,我会回到它。

我使用gfc-timeuuid完成了spark工作并生成了timeuuid,只需将以下内容添加到build.sbt文件中即可

libraryDependencies += "com.gilt" %% "gfc-timeuuid" % "0.0.5"

然后在scala脚本中执行以下操作

import com.gilt.timeuuid._

val tuuid = TimeUuid()
 类似资料:
  • 在Cassandra中,命令用于创建表。 这里,列系列用于存储数据,就像RDBMS中的表一样。 所以,也可以认为命令用于在Cassandra中创建一个列族。 语法 要么,可声明一个主键: 您还可以使用以下语法定义主键: 主键有两种类型: 单个主键:对单个主键使用以下语法。 复合主键:对复合主键可使用以下语法。 示例: 让我们举个例子来演示如何使用命令。 在这里,我们使用前面已经创建的键空间 - “

  • 命令用于将数据插入到表的列中。 语法: 示例: 在之前的文章中,我们创建一个名为“”的表,其中包含列(, , ),需要在表中插入一些数据。 我们来看看向“”表中插入数据的代码 - 在执行上面语句插入数据后,可以使用SELECT命令验证是否成功插入了数据。 执行结果如下所示 - 如下图所示 -

  • 问题内容: 我有两个大表,并且想要将所有列名(而不是视图)组合到一个新表中。 我 没有权限 右键单击每个表并选择CREATE TO SCRIPT,所以我想知道是否有一种方法可以在不指定列数据类型的情况下将两个表插入到新表中? 问题答案:

  • 命令用于在用户指定的列上创建一个索引。 如果您选择索引的列已存在数据,则Cassandra会在“”语句执行后在指定数据列上创建索引。 语法: 创建索引的规则 由于主键已编入索引,因此无法在主键上创建索引。 在Cassandra中,不支持集合索引。 没有对列进行索引,Cassandra无法过滤该列,除非它是主键。 示例: 让我们举个例子来演示如何在列上创建索引。 在这里,我们为表“”中的“”列创建一

  • 我已经创建了一个密钥空间。 我只有两个节点,DC1和数据中心1节点都已启动。现在,当我试图执行一批insert语句时 我收到一个例外,说 当我移除.ifNotExists()子句时,批处理执行没有任何异常。 使用数据轴驱动程序版本 2.1.7 。 我应该如何解决这个问题? 编辑:节点工具状态