teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

1

追記を書き加えた

2020/10/22 05:30

投稿

mahc
mahc

スコア33

title CHANGED
@@ -1,1 +1,1 @@
1
- 大量のjson形式の読み込みスピード比較
1
+ 大量の数のjson形式の読み込みスピード比較
body CHANGED
@@ -4,9 +4,57 @@
4
4
  調べてみると,jsonはデータ量に比例して読み込みスピードの時間が多くなると出てきました.
5
5
  そこで,質問なのですが,このスピードを速くすることはデータをjson形式のままですることは可能なのでしょうか?
6
6
  例えば,pythonの特定のライブラリを使うと速くなる or R言語やc++を用いると速くなるなどの情報を頂けると嬉しいです.
7
+ 目標はこれら全てをdataframeにしたいです.
7
8
 
8
9
 
10
+ ### 発生している問題・エラーメッセージ
11
+ boto3でローカルで読み取った時のコードです.
9
12
 
13
+
14
+ ```python
15
+ path1 = f"s3://mybucket"
16
+ import time
17
+ import awswrangler as wr
18
+ import boto3
19
+ start = time.time()
20
+ my_session = boto3.Session(aws_access_key_id='***', aws_secret_access_key='***', region_name='***')
21
+ wr.s3.read_json(path1, boto3_session=my_session)
22
+ elapsed_time = time.time() - start
23
+ print(elapsed_time)
24
+ ```
25
+
26
+ ### 該当のソースコード
27
+ 下のjsonファイルを読み込むのに30秒ほどかかりました.これと同程度のjsonファイルが約261000個ほどあります.
28
+
29
+ ```json
30
+ {
31
+ "format": "json",
32
+ "payload": {
33
+ "created_at": "20200101 18:45:20.000",
34
+ "AAA": "aaa",
35
+ "BBB": "bbb",
36
+ "ID": "1",
37
+ "purification": "CCC",
38
+ "status_bit": [
39
+ {
40
+ "device": "D00800.00",
41
+ "name": "処理停止中",
42
+ "float": false
43
+ },
44
+ (上のdeviceがこのあと,およそ500項目ある.teratailの字数制限に引っかかるので略.各deviceの文字の長さは全て同程度.)
45
+ ]
46
+ },
47
+ "qos": 0,
48
+ "timestamp": 1602755120,
49
+ "topic": "sample"
50
+ }
51
+ ```
52
+
53
+
10
54
  ### 補足情報(FW/ツールのバージョンなど)
11
55
 
12
- 現在,jsonはawsのs3に貯まっており,boto3ライブラリやaws Glueを使用してみましたがうまくいきません(遅かった)でした.
56
+ 現在,jsonはawsのs3に貯まっており,boto3ライブラリやaws Glueを使用してみましたがうまくいきません(遅かった)でした.
57
+
58
+
59
+ #
60
+