我正在尝试将我的数据库从MySQL迁移到Cassasndra.我面临的问题是其中一个列类型定义为Enum(枚举('GP','NGP','PGP','PAGP')).Cassandra不支持Enum数据类型(但它支持集合).有没有办法在Cassandra中实现Enum数据类型,因此应该从一组值中限制列的值?我正在使用Apache Cassandra 2.0.7版.
我试图使用Java API访问HDFS中的文件,但每次我都找不到文件.我用来访问的代码是: -
Configuration conf = new Configuration();
conf.addResource(FileUtilConstants.ENV_HADOOP_HOME + FileUtilConstants.REL_PATH_CORE_SITE);
conf.addResource(FileUtilConstants.ENV_HADOOP_HOME + FileUtilConstants.REL_PATH_HDFS_SITE);
try {
FileSystem fs = FileSystem.get(conf);
Path hdfsfilePath = new Path(hdfsPath);
logger.info("Filesystem URI : " + fs.getUri());
logger.info("Filesystem Home Directory : " + fs.getHomeDirectory());
logger.info("Filesystem Working Directory : " + fs.getWorkingDirectory());
logger.info("HDFS File Path : " + hdfsfilePath);
if (!fs.exists(hdfsfilePath)) {
logger.error("File does not exists : " + hdfsPath);
}
Run Code Online (Sandbox Code Playgroud)
这是代码中的命令行输出.
[root@koversevms ~]# java -jar /tmp/thetus-incendiary-koverse-extension-fileutils-1.0-SNAPSHOT.jar
13/07/10 02:47:18 INFO fileutils.HadoopFileChecksumUtils: Filesystem URI : file:///
13/07/10 02:47:18 …
Run Code Online (Sandbox Code Playgroud) 我使用Sqoop(版本1.4.4)将数据从MySQL导入Hive.数据将是其中一个表的子集,即表中的几列.是否有必要事先在Hive中创建表.或者,如果数据不在Hive中,则导入数据将创建命令中指定的名称?