当前位置:   article > 正文

cassandra 数据导出导入_审计百万行数据指南(四):数据导入、导出常见问题...

cassandra数据库导入导出

我假设你已经安装好mysql以及navicat了,现在已经准备用数据库处理数据了。

首先第一步,肯定是导入数据。但是这一步可能你会遇到很多问题(至少我自己亲身体会是这样),这样那样的问题,可能让你在现场项目中已经放弃使用了。

那么,这篇文章,我们就梳理下一些常见的问题。

一、断网时数据库连接不上

23f0105bee4eda99a15665f7e4e22ba9.png

首先进入navicat的时候点击“连接”->"mysql"

c9eaa7855fa993e9eae4bb03ae5c9d09.png

他会让你输入一个连接名,比如我输入nigo,以后进来就左边会有一个叫“nigo"的连接。

这里需要注意的是需要把这个”主机名或IP地址“默认的”localhost"改成127.0.0.1。假如你不修改的话,如果你断网的时候系统不知道你这个localhost是什么鬼,它只认识127.0.0.1作为你的本机。

如果你之前已经建立了连接,想要解决这个问题,就在连接上右键点击“连接属性”,进入到这个界面进行修改。

二、数据导入出错

数据导入出错经常会发生,这里有几种情况,我先把坑给大家排一排。

客户可能到给你的数据很多种类型,可能是excel,CSV,txt。我目前遇到的就这三种,当然其他的数据格式都可以导入进去。

8685dc4f5b90fd23b68e82c51d93dcf0.png

你可以自己先在“nigo"连接下新建一个自己的数据库,比如我建了一个"cpa"的数据库,点击“表”,再点击右边的导入向导。

7482bd0a7716531ac531bc57a0d88faa.png

1.excel

excel导入的时候问题最多。动不动就是弹出下面的警示。

de9a6ca41e22d5cb108d40cea8142002.png

如果出现这样的情况,就用excel先另存为csv或者txt文件。

59b914e5e295c725f61665f166375cd9.png

我一般就另存为CSV文件,这里需要注意的是,如果你的表里面有中文字符,那么编码格式必须要UTF-8或则unicode两种才能正常显示。所以我们这里选择“CSV UTF-8(逗号分隔)"。这个选项。

注:如果客户要给你导数据出来,建议让他们给你导CSV或者txt格式的,原因是excel经常有问题,还有就是excel有100多万行的限制。而CSV没有行数限制。

2.txt

txt出现问题最多的可能就是编码问题。当你导入数据库的时候,如果发现是乱码那么应该是有中文的文本,然后他给你保存的是ANSI编码的格式。这个时候解决方式是,用记事本打开txt,然后另存为"UTF-8"编码格式的。

74b7d57d126fe830f5db6820d364d1ed.png

3.CSV

CSV好像没啥问题,如果有也应该是编码的问题,解决方法应该用excel打开还是另存为“UTF-8"格式的就行了。

4.导入过程中的选择

  • 1、选择编码

6e0f94941090a068cd3432bf371776da.png

一般这一步都是默认就行了,如果后面是乱码,看看是不是选择的编码不对,返回来选择文本对应的编码。后面的一般就是默认,下一步就行了。

  • 2、分隔符

7e7b4356bb5198ce35d95dabc0da17b0.png

如果到最后一步,发现"目标栏位"也就是列名那里,所有列都凑在一起了,那么就是前面分隔符没有对。你看这里截图可以看到分割符是“逗号”。

返回到前面的步骤:

7b3b91399f50db0eecb7ddf437dd423c.png

在栏位分隔符这里选择到对应的分隔符,比如选择“逗号”。

383cc9e588577d40c3f0178c8b8c512a.png

这次可以看到,每一列都分开了。

  • 3、类型

这里类型是非常重要的,刚开始学的时候我都会在这里把对应的类型选择好。比如,整数我就选择bigint,文本我就默认varchar,日期我就date,时间我就time ,日期时间格式我就选择datetime。

因为如果你不是数字类型的就不能运算,不是日期类型的就不能用日期时间函数。

这样做感觉是对的,但是实际操作过程中,这样会发生大量的导入错误。

所以这一步我们就不要进行任何操作,直接默认varchar,就完全按照文本格式导入进去。这样基本上不会有导入数据错误。

当正确导入后,再进行修改类型,操作如下:

51ad15221dd4c28bbe6f3a4f38868925.png

选中表后,单击右键,然后选择“设计表”,又可以进行到开始的界面,对现有的数据类型进行修改。

三、数据导出太慢

当我们导入成功后,并写好了SQL语句,查询出结果后,我们想把数据导出来。

98533a148ff956f1ca9d63e80198fcb4.png

按ctr+s保存查询语句,然后选择你的查询表,然后单击右键,选择“导出向导”。

e7d891c7b88d5fc1ae4390d86fd4779f.png

这样可以把数据导成excel等格式。

但是,当导出的数据有几十万行的时候,这个过程十分缓慢,令人发指。

这里有个非常快的技巧,就是用excel的数据导入功能,连接数据库,把数据导入导excel里。非常之快,每秒可以导入上万行。

操作如下:

  • 1、新建一个excel表,打开。
  • 2、"数据"选项卡->"获取数据"->"自数据库"->"从MySQL数据库"

f113a4d1c613a954ea6df296d47c793f.png
  • 3、输入数据库连接名和数据库名

bbbe11c41600b76bbac3bd33c9446bdf.png

a56147d078f2a42c41ab30f91908178d.png

不清楚这两个对应什么的可以看下下面的图参考下。

  • 4、选择数据库,填写数据库账号密码。

对于我们本机安装的来说,一般账号就是root,密码就是你当初设置的密码。

  • 5、选择你需要导入的表。就可以飞速的导入了。

结语

以上可能是你准备把数据导入进数据库学习的时候遇到的拦路虎,刚开始,要是数据都导不进去或者说生成的结果导出非常慢,真的很影响学习的心情和动力。

希望我遇到的这些问题能够帮助你跳过这些坑。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小小林熬夜学编程/article/detail/126267
推荐阅读
相关标签
  

闽ICP备14008679号